Not a member of GistPad yet?
Sign Up,
it unlocks many cool features!
- class Solution {
- public int[] productExceptSelf(int[] nums) {
- int n = nums.length;
- int[] arr = new int[n];
- // Step-1 calculate prefix product of each element
- int[] prefix = new int[n];
- prefix[0] = 1;
- int product = nums[0];
- for(int i=1;i<n;i++)
- {
- prefix[i] = product;
- product = product*nums[i];
- }
- // Step-2 calculate suffix product of each element
- int[] suffix = new int[n];
- suffix[n-1] = 1;
- product = nums[n-1];
- for(int i=n-2;i>=0;i--)
- {
- suffix[i] = product;
- product = product*nums[i];
- }
- for(int i=0;i<n;i++)
- {
- arr[i] = prefix[i]*suffix[i];
- }
- return arr;
- }
- }
RAW Paste Data
Copied
