238. Product of Array Except Self 发表于 2022-01-08 Prefix Sum123456789101112131415161718192021222324class Solution { public int[] productExceptSelf(int[] nums) { int[] prefixProductArray = new int[nums.length]; int[] suffixProductArray = new int[nums.length]; int prefixProduct = 1; for (int i = 0; i < nums.length; i++) { prefixProductArray[i] = prefixProduct; prefixProduct *= nums[i]; } int suffixProduct = 1; for (int i = nums.length - 1; i >= 0; i--) { suffixProductArray[i] = suffixProduct; suffixProduct *= nums[i]; } int[] productArray = new int[nums.length]; for (int i = 0; i < nums.length; i++) { productArray[i] = prefixProductArray[i] * suffixProductArray[i]; } return productArray; }} Prefix Sum12345678910111213141516171819class Solution { public int[] productExceptSelf(int[] nums) { int[] productArray = new int[nums.length]; int prefixProduct = 1; for (int i = 0; i < nums.length; i++) { productArray[i] = prefixProduct; prefixProduct *= nums[i]; } int suffixProduct = 1; for (int i = nums.length - 1; i >= 0; i--) { productArray[i] *= suffixProduct; suffixProduct *= nums[i]; } return productArray; }} Reference238. Product of Array Except Self剑指 Offer 66. 构建乘积数组