Meta Interview Question

Given an array of integers, push all non-zero elements to the front.

Interview Answer

Anonymous

May 28, 2015

Keep a pointer to next space, loop through, moving into next space if not zero int compress(int[] numbers) { int p = 0; for (int i=0; i < numbers.length; i++) { numbers[p] = numbers[i]; // not worth checking for p != i if (numbers[i] != 0) { p++; } } return p; // number of non-zero elements }