Domanda di colloquio di Amazon

easy

Risposte di colloquio

Anonimo

15 feb 2015

@ lurii Mykhailov. try your algorithm with this: int[] array = new int[] {3,-2,-1,0}; It seems it does not work... Don't forget we may have negative values.

Anonimo

16 feb 2015

int [] newArr = new int[array.length]; int sum; newArr[0] = array[0]; for(int i = 1 ; i =0 ; j--){ sum += array[j]; if(sum == newArray[j-2]){ return j-1; } }

Anonimo

15 apr 2015

public int middleIndex(int[] num) { if(num.length==1) return 0; int[] sum = new int[num.length]; sum[0] = num[0]; for(int i=1;i

Anonimo

27 gen 2015

public static int getIndexOfEqualSum(int []a) { int index = -1; //not found int sum = 0; for (int i = 0; i < a.length; i++) { sum += a[i]; } int tempSum = 0; for (int i = 0; i < a.length; i++) { int val = a[i]; sum -= val; if (sum == tempSum) { return i; } tempSum += val; } return index; }

1

Anonimo

2 feb 2015

Here is my implementation, should be a bit faster if the required element is somewhere in the middle: public static int getIndexOfEqualSumMy(int[] a) { int leftSum = a[0]; int j = a.length - 1; int rightSum = a[j]; for (int i = 0; i != j;) { if (leftSum < rightSum) { i++; leftSum += a[i]; } else { j--; rightSum += a[j]; } } if (leftSum != rightSum) { return -1; } return j; }