Skip to content

Commit 6db16e3

Browse files
committed
268. Missing Number
1 parent dc88ca3 commit 6db16e3

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
/**
2+
* Runtime: 19ms, Memory: 52.48MB
3+
*
4+
* ์ ‘๊ทผ
5+
* ์ง๊ด€์ ์œผ๋กœ ์ƒ๊ฐํ–ˆ์„ ๋•Œ, 0๋ถ€ํ„ฐ n๊นŒ์ง€์˜ ์ˆซ์ž ์ค‘์—์„œ ์—†๋Š” ์ˆซ์ž๋ฅผ ์ฐพ์•„์•ผ ํ•œ๋‹ค.
6+
* ์™„์ „ ํƒ์ƒ‰์œผ๋กœ ์ •๋ ฌํ•œ ๋ฐฐ์—ด์—์„œ ์ˆœ์„œ๋Œ€๋กœ ๋น„๊ตํ•˜๋ฉด์„œ ์—†๋Š” ์ˆซ์ž๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค.
7+
* Time Complexity: O(N)
8+
* Space Complexity: O(N)
9+
*
10+
* Follow up: Could you implement a solution using only O(1) extra space complexity and O(n) runtime complexity?
11+
*/
12+
13+
function missingNumber(nums: number[]): number {
14+
const numsLen = nums.length;
15+
const sortedNums = nums.sort((a, b) => a - b); // ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ
16+
17+
for (let i = 0; i <= numsLen; i++) {
18+
if (i !== sortedNums[i]) {
19+
return i;
20+
}
21+
}
22+
}
23+
24+
/**
25+
* Runtime: 1ms, Memory: 51.96MB
26+
*
27+
* ์ ‘๊ทผ
28+
* Follow up์— ๋Œ€ํ•œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•
29+
* 0๋ถ€ํ„ฐ n๊นŒ์ง€์˜ ์ˆซ์ž์˜ ํ•ฉ์„ ๊ตฌํ•œ ๋’ค, ์ฃผ์–ด์ง„ ๋ฐฐ์—ด์˜ ํ•ฉ์„ ๋นผ๋ฉด ์—†๋Š” ์ˆซ์ž๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค.
30+
* Time Complexity: O(n)
31+
* Space Complexity: O(1)
32+
*/
33+
34+
function missingNumber(nums: number[]): number {
35+
const size = nums.length;
36+
const sum = (size * (size + 1)) / 2;
37+
const accurate = nums.reduce((sum, num) => sum + num, 0);
38+
39+
return sum - accurate;
40+
}

0 commit comments

Comments
ย (0)