Skip to content

Commit b9e028d

Browse files
committed
feat: product-of-array-except-self
1 parent e48ec46 commit b9e028d

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# 시간복잡도: O(n)
2+
# 공간복잡도: O(n)
3+
class Solution:
4+
def productExceptSelf(self, nums: List[int]) -> List[int]:
5+
prefix = [1] * len(nums)
6+
suffix = [1] * len(nums)
7+
product = [1] * len(nums)
8+
9+
for idx in range(len(nums)):
10+
if idx == 0:
11+
prefix[idx] = nums[idx]
12+
else:
13+
prefix[idx] = prefix[idx - 1] * nums[idx]
14+
15+
for idx in range(len(nums) - 1, -1, -1):
16+
if idx == len(nums) - 1:
17+
suffix[idx] = nums[idx]
18+
else:
19+
suffix[idx] = suffix[idx + 1] * nums[idx]
20+
21+
for idx in range(len(nums)):
22+
if idx == 0:
23+
product[idx] = suffix[idx + 1]
24+
elif idx == len(nums) - 1:
25+
product[idx] = prefix[idx - 1]
26+
else:
27+
product[idx] = prefix[idx - 1] * suffix[idx + 1]
28+
29+
return product
30+

0 commit comments

Comments
 (0)