Skip to content

Commit 860fb02

Browse files
committed
Finished an array problem
1 parent 4370905 commit 860fb02

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

Diff for: js/Problems/containsDuplicate.js

+46
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
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+
};

0 commit comments

Comments
 (0)