Skip to content

Commit 120df1f

Browse files
committed
product of array except self solution
1 parent cd23e34 commit 120df1f

1 file changed

Lines changed: 25 additions & 0 deletions

File tree

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// TC: O(N)
2+
// SC: O(N)
3+
class Solution:
4+
def productExceptSelf(self, nums: List[int]) -> List[int]:
5+
6+
n = len(nums)
7+
prefix_prod = [0] * n
8+
suffix_prod = [0] * n
9+
10+
prefix_prod[0] = nums[0]
11+
suffix_prod[-1] = nums[-1]
12+
13+
for idx in range(1, n):
14+
prefix_prod[idx] = prefix_prod[idx - 1] * nums[idx]
15+
suffix_prod[-idx - 1] = suffix_prod[-idx] * nums[-idx - 1]
16+
17+
ret = []
18+
19+
ret.append(suffix_prod[1])
20+
for idx in range(1, n - 1):
21+
ret.append(prefix_prod[idx - 1] * suffix_prod[idx + 1])
22+
ret.append(prefix_prod[n - 2])
23+
24+
return ret
25+

0 commit comments

Comments
 (0)