Skip to content

Commit 266bf4e

Browse files
Merge pull request youngyangyang04#1025 from xiaofei-2020/hash8
添加(0015.三数之和.md):增加typescript版本
2 parents 26bb47e + 2ea72e3 commit 266bf4e

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

problems/0015.三数之和.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -332,7 +332,43 @@ var threeSum = function(nums) {
332332
return res;
333333
};
334334
```
335+
TypeScript:
335336

337+
```typescript
338+
function threeSum(nums: number[]): number[][] {
339+
nums.sort((a, b) => a - b);
340+
let length = nums.length;
341+
let left: number = 0,
342+
right: number = length - 1;
343+
let resArr: number[][] = [];
344+
for (let i = 0; i < length; i++) {
345+
if (i > 0 && nums[i] === nums[i - 1]) {
346+
continue;
347+
}
348+
left = i + 1;
349+
right = length - 1;
350+
while (left < right) {
351+
let total: number = nums[i] + nums[left] + nums[right];
352+
if (total === 0) {
353+
resArr.push([nums[i], nums[left], nums[right]]);
354+
left++;
355+
right--;
356+
while (nums[right] === nums[right + 1]) {
357+
right--;
358+
}
359+
while (nums[left] === nums[left - 1]) {
360+
left++;
361+
}
362+
} else if (total < 0) {
363+
left++;
364+
} else {
365+
right--;
366+
}
367+
}
368+
}
369+
return resArr;
370+
};
371+
```
336372

337373
ruby:
338374
```ruby

0 commit comments

Comments
 (0)