Meta Interview Question

Given an array push all non zero elements to the end

Interview Answers

Anonymous

Jan 11, 2017

/** * @param {number[]} nums * @return {void} Do not return anything, modify nums in-place instead. */ var moveZeroes = function(nums) { for(i=nums.length-1; i>=0; i--) { if(nums[i] === 0) { nums.splice(i,1); nums.push(0); } } };

Anonymous

Mar 21, 2019

java solution public static void pushNonZeroToEnd(int[] array) { if (array == null || array.length == 0) return; int zeroCount = array.length-1; for(int indexArray = array.length - 1; indexArray >= 0; indexArray--) { if(array[indexArray] != 0) { array[zeroCount--] = array[indexArray]; } } while(zeroCount >= 0){ array[zeroCount--] = 0; } }

Anonymous

Mar 21, 2019

java solution public static int fib(int n) { if(n == 0) return 0; int numN1 = 1, numN2 = 0, sum; //numN1 represents fib(n-1), numN2 represents fib(n-2) //at the end, we are adding values starting from 0, 1 //fib(2) = fib(1) + fib(0) = 1 + 0 = 1 //fib(3) = fib(2) + fib(1) = 1 + 1 = 2; //fib(4) = fib(3) + fib(2) = 2 + 1 = 3; //fib(5) = fib(4) + fib(3) = 3 + 2 = 5; for(int index = 2; index <= n; index++) { sum = numN1 + numN2; numN2 = numN1; numN1 = sum; } return numN1; }