mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-10 04:06:51 +08:00
添加(0018.四数之和.md):增加typescript版本
This commit is contained in:
@ -311,7 +311,49 @@ var fourSum = function(nums, target) {
|
|||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
|
TypeScript:
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
function fourSum(nums: number[], target: number): number[][] {
|
||||||
|
nums.sort((a, b) => a - b);
|
||||||
|
let first: number = 0,
|
||||||
|
second: number,
|
||||||
|
third: number,
|
||||||
|
fourth: number;
|
||||||
|
let length: number = nums.length;
|
||||||
|
let resArr: number[][] = [];
|
||||||
|
for (; first < length; first++) {
|
||||||
|
if (first > 0 && nums[first] === nums[first - 1]) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
for (second = first + 1; second < length; second++) {
|
||||||
|
if ((second - first) > 1 && nums[second] === nums[second - 1]) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
third = second + 1;
|
||||||
|
fourth = length - 1;
|
||||||
|
while (third < fourth) {
|
||||||
|
let total: number = nums[first] + nums[second] + nums[third] + nums[fourth];
|
||||||
|
if (total === target) {
|
||||||
|
resArr.push([nums[first], nums[second], nums[third], nums[fourth]]);
|
||||||
|
third++;
|
||||||
|
fourth--;
|
||||||
|
while (nums[third] === nums[third - 1]) third++;
|
||||||
|
while (nums[fourth] === nums[fourth + 1]) fourth--;
|
||||||
|
} else if (total < target) {
|
||||||
|
third++;
|
||||||
|
} else {
|
||||||
|
fourth--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return resArr;
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
PHP:
|
PHP:
|
||||||
|
|
||||||
```php
|
```php
|
||||||
class Solution {
|
class Solution {
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user