File tree Expand file tree Collapse file tree 1 file changed +41
-0
lines changed Expand file tree Collapse file tree 1 file changed +41
-0
lines changed Original file line number Diff line number Diff line change
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
+ }
You can’t perform that action at this time.
0 commit comments