Example:
arr[] = {10, 3, 5, 6, 2}
prod[] = {180, 600, 360, 300, 900}

 

 1     public static int[] selfExcluding(int[] input){

 2         if(input == null || input.length == 0) return null;

 3         int len = input.length;

 4         int[] output = new int[len];

 5         for(int i = 0; i < len; i ++){

 6             output[i] = 1;

 7         }

 8         int left = 1, right = 1;

 9         for(int i = 1; i < input.length; i ++){

10             left *= input[i - 1];

11             output[i] *= left; 

12             right *= input[len - i];

13             output[len - i - 1] *= right;

14         }

15         return output;

16     }