Skip to content

Commit a53d150

Browse files
author
Joseph Luce
authored
Update 238_product_of_array_except_self.md
1 parent 50e2997 commit a53d150

File tree

1 file changed

+7
-13
lines changed

1 file changed

+7
-13
lines changed

leetcode/medium/238_product_of_array_except_self.md

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -22,17 +22,14 @@ class Solution:
2222
if len(nums) == 0:
2323
return []
2424
left, right = self.calc_left_product(nums), self.calc_left_product(nums[::-1])[::-1]
25-
result = [1]*len(nums)
26-
for index, n in enumerate(zip(left, right)):
27-
result[index] = n[0]*n[1]
25+
result = list()
26+
for l, r in zip(left, right):
27+
result.append(l*r)
2828
return result
2929
3030
def calc_left_product(self, nums):
31-
result = [1]*len(nums)
32-
curr_prod = 1
33-
for index, n in enumerate(nums):
34-
result[index] = curr_prod
35-
curr_prod *= n
31+
nums = [1] + nums[:-1]
32+
result = list(itertools.accumulate(nums, operator.mul))
3633
return result
3734
```
3835

@@ -58,10 +55,7 @@ class Solution:
5855
return result
5956
6057
def calc_left_product(self, nums):
61-
result = [1]*len(nums)
62-
curr_prod = 1
63-
for index, n in enumerate(nums):
64-
result[index] = curr_prod
65-
curr_prod *= n
58+
nums = [1] + nums[:-1]
59+
result = list(itertools.accumulate(nums, operator.mul))
6660
return result
6761
```

0 commit comments

Comments
 (0)