mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 08:50:15 +08:00
Merge branch 'youngyangyang04:master' into master
This commit is contained in:
@ -240,7 +240,29 @@ var combine = function(n, k) {
|
|||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
|
TypeScript:
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
function combine(n: number, k: number): number[][] {
|
||||||
|
let resArr: number[][] = [];
|
||||||
|
function backTracking(n: number, k: number, startIndex: number, tempArr: number[]): void {
|
||||||
|
if (tempArr.length === k) {
|
||||||
|
resArr.push(tempArr.slice());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
for (let i = startIndex; i <= n - k + 1 + tempArr.length; i++) {
|
||||||
|
tempArr.push(i);
|
||||||
|
backTracking(n, k, i + 1, tempArr);
|
||||||
|
tempArr.pop();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
backTracking(n, k, 1, []);
|
||||||
|
return resArr;
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
C:
|
C:
|
||||||
|
|
||||||
```c
|
```c
|
||||||
int* path;
|
int* path;
|
||||||
int pathTop;
|
int pathTop;
|
||||||
|
@ -87,7 +87,7 @@ class Solution {
|
|||||||
private:
|
private:
|
||||||
vector<vector<int>> result;
|
vector<vector<int>> result;
|
||||||
vector<int> path;
|
vector<int> path;
|
||||||
void backtracking(vector<int>& nums, int startIndex, vector<bool>& used) {
|
void backtracking(vector<int>& nums, int startIndex) {
|
||||||
result.push_back(path);
|
result.push_back(path);
|
||||||
unordered_set<int> uset;
|
unordered_set<int> uset;
|
||||||
for (int i = startIndex; i < nums.size(); i++) {
|
for (int i = startIndex; i < nums.size(); i++) {
|
||||||
@ -96,7 +96,7 @@ private:
|
|||||||
}
|
}
|
||||||
uset.insert(nums[i]);
|
uset.insert(nums[i]);
|
||||||
path.push_back(nums[i]);
|
path.push_back(nums[i]);
|
||||||
backtracking(nums, i + 1, used);
|
backtracking(nums, i + 1);
|
||||||
path.pop_back();
|
path.pop_back();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -105,9 +105,8 @@ public:
|
|||||||
vector<vector<int>> subsetsWithDup(vector<int>& nums) {
|
vector<vector<int>> subsetsWithDup(vector<int>& nums) {
|
||||||
result.clear();
|
result.clear();
|
||||||
path.clear();
|
path.clear();
|
||||||
vector<bool> used(nums.size(), false);
|
|
||||||
sort(nums.begin(), nums.end()); // 去重需要排序
|
sort(nums.begin(), nums.end()); // 去重需要排序
|
||||||
backtracking(nums, 0, used);
|
backtracking(nums, 0);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user