Skip to content

Commit b73b77f

Browse files
committed
containsDuplicate solution
1 parent f291ae8 commit b73b77f

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

contains-duplicate/HoonDongKang.ts

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
/**
2+
* [Problem]: [217] Contains Duplicate
3+
* (https://leetcode.com/problems/contains-duplicate/description/)
4+
*/
5+
6+
function containsDuplicate(nums: number[]): boolean {
7+
// 시간복잡도: O(n^2)
8+
// 공간복잡도: O(1)
9+
const doubleLoopFunc = (nums: number[]) => {
10+
let isDuplicated = false;
11+
for (let i = 0; i < nums.length; i++) {
12+
for (let j = i + 1; j < nums.length; j++) {
13+
if (nums[i] === nums[j]) isDuplicated = true;
14+
}
15+
}
16+
return isDuplicated;
17+
};
18+
19+
// 시간복잡도: O(n)
20+
// 공간복잡도: O(n)
21+
const setFunc = (nums: number[]) => {
22+
const numsSet = new Set<number>(nums);
23+
24+
return nums.length !== numsSet.size;
25+
};
26+
27+
// 시간복잡도: O(n)
28+
// 공간복잡도: O(n)
29+
const mapFunc = (nums: number[]) => {
30+
const numsMap = new Map<number, boolean>();
31+
32+
for (const num of nums) {
33+
if (numsMap.get(num)) return true;
34+
numsMap.set(num, true);
35+
}
36+
37+
return false;
38+
};
39+
40+
return mapFunc(nums);
41+
}

0 commit comments

Comments
 (0)