LeetCode challenge – Product Of Array Except Self – Java Solution
This is a solution for the LeetCode challenge – Product of Array Except Self written in Java ( Source )
Given an array of n integers where n > 1, nums, return an array output such that output[i] is equal to the product of all the elements of nums except nums[i]. Solve it without division and in O(n).For example, given [1,2,3,4], return [24,12,8,6].
public class ProductOfArrayExceptSelf { public static void main(String[] args) { int[] nums = {1, 2, 3, 4}; int[] result = new ProductOfArrayExceptSelf().productExceptSelf(nums); for (int r : result) System.out.print(r + " "); } public int[] productExceptSelf(int[] nums) { int[] result = new int[nums.length]; for (int i = 0, temp = 1, l = nums.length; i < l; i++) { result[i] = temp; temp *= nums[i]; } for (int i = nums.length - 1, temp = 1; i >= 0; i--) { result[i] = result[i] * temp; temp *= nums[i]; } return result; } }