2026/04/14

[LeetCode] 238 Product of Array Except Self

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
class Solution {
public:
  vector<int> productExceptSelf(vector<int>& nums) {
    int N = nums.size();
    vector<int> ans(N);
    
    int prefix = 1;
    for (int i = 0; i < N; i++) {
      ans[i] = prefix;
      prefix *= nums[i];
    }

    int suffix = 1;
    for (int i = N - 1; i >= 0; i--) {
      ans[i] *= suffix;
      suffix *= nums[i];
    }
    
    return ans;
  }
};