mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 00:43:04 +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
|
||||
int* path;
|
||||
int pathTop;
|
||||
|
@ -87,7 +87,7 @@ class Solution {
|
||||
private:
|
||||
vector<vector<int>> result;
|
||||
vector<int> path;
|
||||
void backtracking(vector<int>& nums, int startIndex, vector<bool>& used) {
|
||||
void backtracking(vector<int>& nums, int startIndex) {
|
||||
result.push_back(path);
|
||||
unordered_set<int> uset;
|
||||
for (int i = startIndex; i < nums.size(); i++) {
|
||||
@ -96,7 +96,7 @@ private:
|
||||
}
|
||||
uset.insert(nums[i]);
|
||||
path.push_back(nums[i]);
|
||||
backtracking(nums, i + 1, used);
|
||||
backtracking(nums, i + 1);
|
||||
path.pop_back();
|
||||
}
|
||||
}
|
||||
@ -105,9 +105,8 @@ public:
|
||||
vector<vector<int>> subsetsWithDup(vector<int>& nums) {
|
||||
result.clear();
|
||||
path.clear();
|
||||
vector<bool> used(nums.size(), false);
|
||||
sort(nums.begin(), nums.end()); // 去重需要排序
|
||||
backtracking(nums, 0, used);
|
||||
backtracking(nums, 0);
|
||||
return result;
|
||||
}
|
||||
};
|
||||
|
Reference in New Issue
Block a user