updated productExceptSelf

This commit is contained in:
wt
2026-04-08 20:05:05 +07:00
parent e6fa2e09e2
commit 851d5129e3
+10 -17
View File
@@ -2,22 +2,15 @@
inline std::vector<int> productExceptSelf(std::vector<int> &nums) {
int n = nums.size();
std::vector<int> answer(n, 1);
for(int i = 1; i < n; i++) {
answer[i] = answer[i-1] * nums[i-1];
}
int suffix = 1;
for(int i = n-1; i > -1; i--) {
answer[i] *= suffix;
suffix *= nums[i];
}
return answer;
}
// def productExceptSelf(nums):
// n = len(nums)
// answer = [1] * n
// #Первый проход : префиксные произведения
// #answer[i] содержит произведение всех элементов слева от i
// for i in range(1, n):
// answer[i] = answer[i-1] * nums[i-1]
// #Второй проход : суффиксные произведения
// #suffix накапливает произведение элементов справа
// suffix = 1
// for i in range(n-1, -1, -1):
// answer[i] *= suffix # умножаем на произведение справа
// suffix *= nums[i] # обновляем суффиксное произведение
// return answer