Skip to content

Commit 07e28ff

Browse files
committed
sadie100: product of array except self solution
1 parent f86c6e9 commit 07e28ff

1 file changed

Lines changed: 26 additions & 0 deletions

File tree

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
/*
2+
answer[i] = numbers[0], ... numbers[i-1], numbers[i+1], ... number[n-1]์˜ ๊ณฑ์ž„์„ ํ™œ์šฉํ•˜์—ฌ
3+
nums๋ฅผ 1๋ถ€ํ„ฐ n-1๊นŒ์ง€ ์ˆœํšŒํ•˜๋ฉฐ i-1๊นŒ์ง€์˜ ๊ณฑ์„ answer[i]์— ์ฑ„์šฐ๊ณ ,
4+
๋ฐ˜๋Œ€๋กœ n-2๋ถ€ํ„ฐ 0๊นŒ์ง€ ์ˆœํšŒํ•˜๋ฉฐ i+1๊นŒ์ง€์˜ ๊ณฑ์„ answer[i]์— ์ฑ„์šด๋‹ค
5+
6+
์‹œ๊ฐ„๋ณต์žก๋„ : O(N) => 2N๋ฒˆ ์ˆœํšŒ
7+
๊ณต๊ฐ„๋ณต์žก๋„ : O(N) => number[] ๋ฐฐ์—ด ์‚ฌ์šฉ
8+
*/
9+
10+
function productExceptSelf(nums: number[]): number[] {
11+
const answer = new Array(nums.length).fill(1)
12+
13+
let multiVal = 1
14+
for (let i = 1; i < nums.length; i++) {
15+
multiVal *= nums[i - 1]
16+
answer[i] *= multiVal
17+
}
18+
19+
multiVal = 1
20+
for (let i = nums.length - 2; i >= 0; i--) {
21+
multiVal *= nums[i + 1]
22+
answer[i] *= multiVal
23+
}
24+
25+
return answer
26+
}

0 commit comments

Comments
ย (0)