Pergunta de entrevista da empresa Meta

Given an array, move all the zeros to the end and return the number of nonzero elements in the array

Respostas da entrevista

Sigiloso

29 de dez. de 2014

int lo=0; int hi=arr.length-1; while(lo

1

Sigiloso

19 de jan. de 2015

int zeroP = 0; for (int i=0; i

Sigiloso

15 de fev. de 2015

def move_zeroes_end(num_list): if len(num_list) == 0: return num_list end_pos = len(num_list)-1 while end_pos > 0 and num_list[end_pos] == 0: end_pos -= 1 i = 0 while i 0 and num_list[end_pos] == 0: end_pos -= 1 i += 1 if num_list[end_pos] != 0: end_pos += 1 return end_pos, num_list print move_zeroes_end([1, 0, 9, 7, 5, 0, 2, 1]) print move_zeroes_end([1, 0, 9, 7, 5, 0, 0, 1]) print move_zeroes_end([]) print move_zeroes_end([0]) print move_zeroes_end([0, 0]) print move_zeroes_end([1, 2])

Sigiloso

23 de dez. de 2014

public int returnNonZeros(int[] arr) { int result = arr.length; for (int i = 0; i < result;) { if (arr[i] == 0) { int temp = arr[i]; arr[i] = arr[result-1]; arr[result-1] = temp; result--; } else { i++; } } return result; }

Sigiloso

12 de dez. de 2014

public int moveZero(int[] a) { int l=0; int r=a.length-1; while(l