updated productExceptSelf
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user