Skip to content

Commit 9499040

Browse files
committed
update: 220
1 parent 5dcec72 commit 9499040

File tree

2 files changed

+24
-1
lines changed

2 files changed

+24
-1
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ This is the solutions collection of my LeetCode submissions, most of them are pr
134134
| 215 | [Kth Largest Element in an Array](https://leetcode.com/problems/kth-largest-element-in-an-array/) | [JavaScript](./src/kth-largest-element-in-an-array/res.js) | Medium |
135135
| 217 | [Contains Duplicate](https://leetcode.com/problems/contains-duplicate/) | [JavaScript](./src/contains-duplicate/res.js) · [TypeScript](./src/contains-duplicate/res.ts) | Easy |
136136
| 219 | [Contains Duplicate II](https://leetcode.com/problems/contains-duplicate-ii/) | [JavaScript](./src/contains-duplicate-ii/res.js) | Easy |
137-
| 220 | [Contains Duplicate III](https://leetcode.com/problems/contains-duplicate-iii/) | [JavaScript](./src/contains-duplicate-iii/res.js) | Medium |
137+
| 220 | [Contains Duplicate III](https://leetcode.com/problems/contains-duplicate-iii/) | [JavaScript](./src/contains-duplicate-iii/res.js) · [TypeScript](./src/contains-duplicate-iii/res.ts) | Medium |
138138
| 228 | [Summary Ranges](https://leetcode.com/problems/summary-ranges/solution/) | [JavaScript](./src/summary-ranges/res.js) | Medium |
139139
| 230 | [kth-smallest-element-in-a-bst](https://leetcode.com/problems/kth-smallest-element-in-a-bst/solution/) | [TypeScript](./src/kth-smallest-element-in-a-bst/res.ts) | Medium |
140140
| 238 | [Product of Array Except Self](https://leetcode.com/problems/product-of-array-except-self/solution/) | [JavaScript](./src/product-of-array-except-self/res.js) | Medium |

src/contains-duplicate-iii/res.ts

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
function containsNearbyAlmostDuplicate(nums: number[], k: number, t: number): boolean {
2+
if (nums.length < 2) {
3+
return false;
4+
}
5+
6+
const numsList = nums.map((num, index) => ({
7+
val: num,
8+
index,
9+
}));
10+
numsList.sort((a, b) => a.val - b.val);
11+
12+
for (let i = 0; i < numsList.length-1; i++) {
13+
for (let j = i+1; j < numsList.length; j++) {
14+
if (Math.abs(numsList[j].val - numsList[i].val) > t) {
15+
break;
16+
} else if (Math.abs(numsList[j].val - numsList[i].val) <= t && Math.abs(numsList[j].index - numsList[i].index) <= k) {
17+
return true;
18+
}
19+
}
20+
}
21+
22+
return false;
23+
};

0 commit comments

Comments
 (0)