Skip to content

Commit dd4fc12

Browse files
committed
✨ [217] a1 - Time Limit Exceeded
1 parent 2fa7a1a commit dd4fc12

File tree

2 files changed

+55
-2
lines changed

2 files changed

+55
-2
lines changed

217/my_solution.js

+32-2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,36 @@
22
* @param {number[]} nums
33
* @return {boolean}
44
*/
5-
var containsDuplicate = function (nums) {
5+
const containsDuplicate = (nums) => {
6+
// nums = [1, 2, 3, 1]
7+
let isDuplicated = false, l = 0, r = nums.length - 1;
68

7-
};
9+
// for
10+
// think about other edge cases ...
11+
// for (let i = 0; i < nums.length; i++) {
12+
// if (l == r) {
13+
//
14+
// }
15+
16+
while (r >= l) {
17+
if (l === r) {
18+
l++;
19+
r = nums.length - 1;
20+
continue;
21+
}
22+
23+
if (nums[l] === nums[r]) {
24+
isDuplicated = true;
25+
break;
26+
} else {
27+
r--;
28+
}
29+
}
30+
31+
return isDuplicated;
32+
}
33+
34+
containsDuplicate([1, 2, 3, 1])
35+
containsDuplicate([1, 2, 3, 4])
36+
containsDuplicate([1, 1, 1, 3, 3, 4, 3, 2, 4, 2])
37+
// containsDuplicate()

217/solution.js

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
/**
2+
* @param {number[]} nums
3+
* @return {boolean}
4+
*/
5+
const containsDuplicate = (nums) => {
6+
let l = 0, r = nums.length - 1;
7+
8+
while (r >= l) {
9+
if (l === r) {
10+
l++;
11+
r = nums.length - 1;
12+
continue;
13+
}
14+
15+
if (nums[l] === nums[r]) {
16+
return true
17+
} else {
18+
r--;
19+
}
20+
}
21+
22+
return false;
23+
}

0 commit comments

Comments
 (0)