File tree 1 file changed +46
-0
lines changed
1 file changed +46
-0
lines changed Original file line number Diff line number Diff line change
1
+ /**
2
+ * Runtime efficient version.
3
+ * I never learned what a set is until now: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set?retiredLocale=de
4
+ * A set works good in this case, because it can never have an element twice.
5
+ *
6
+ * @param {number[] } nums
7
+ * @return {boolean }
8
+ */
9
+ var containsDuplicate = function ( nums ) {
10
+ let helperarr = new Set ( ) ;
11
+ for ( const element of nums ) {
12
+ if ( helperarr . has ( element ) )
13
+ return true ;
14
+ else
15
+ helperarr . add ( element ) ;
16
+ }
17
+ return false ;
18
+ } ;
19
+
20
+ /**
21
+ * A solution that is 50/50 between memory and runtime
22
+ *
23
+ * @param {number[] } nums
24
+ * @return {boolean }
25
+ */
26
+ var containsDuplicate3 = function ( nums ) {
27
+ let set = new Set ( nums ) ;
28
+ return set . size != nums . length ;
29
+ } ;
30
+
31
+ /**
32
+ * Memory efficient version
33
+ *
34
+ * @param {number[] } nums
35
+ * @return {boolean }
36
+ */
37
+ var containsDuplicate2 = function ( nums ) {
38
+ let helperarr = [ ] ;
39
+ for ( let i = 0 ; i < nums . length ; i ++ ) {
40
+ if ( helperarr . includes ( nums [ i ] ) )
41
+ return true ;
42
+ else
43
+ helperarr [ i ] = nums [ i ] ;
44
+ }
45
+ return false ;
46
+ } ;
You can’t perform that action at this time.
0 commit comments