Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitec7eead

Browse files
committed
[Function add]
1. Add leetcode solutions in C++ version.
1 parent9e29029 commitec7eead

4 files changed

+104
-0
lines changed

‎leetcode/216. Combination Sum III.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,3 +101,28 @@ class Solution {
101101
}
102102
}
103103
```
104+
105+
###C++ version
106+
* Method 1:recursion
107+
```objectivec
108+
class Solution {
109+
vector<vector<int>> res_;
110+
void dfs(vector<int>& temp, int target, int index, int sum, int k){
111+
if(temp.size() == k && sum == target){
112+
res_.emplace_back(temp);
113+
}else if(sum < target && temp.size() < k){
114+
for(int i = index; i <= 9; ++i){
115+
temp.emplace_back(i);
116+
dfs(temp, target, i + 1, sum + i, k);
117+
temp.pop_back();
118+
}
119+
}
120+
}
121+
public:
122+
vector<vector<int>> combinationSum3(int k, int n) {
123+
vector<int> temp;
124+
dfs(temp, n, 1, 0, k);
125+
return res_;
126+
}
127+
};
128+
```

‎leetcode/46. Permutations.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,3 +98,28 @@ class Solution {
9898
}
9999
}
100100
```
101+
102+
###C++ Version
103+
* Method 1:
104+
```objectivec
105+
class Solution {
106+
vector<vector<int>> res_;
107+
void dfs(int begin, int size, vector<int>& nums){
108+
if(begin >= size){
109+
res_.push_back(nums);
110+
return;
111+
}else{
112+
for(int i = begin; i < size; ++i){
113+
swap(nums[begin], nums[i]);
114+
dfs(begin + 1, size, nums);
115+
swap(nums[begin], nums[i]);
116+
}
117+
}
118+
}
119+
public:
120+
vector<vector<int>> permute(vector<int>& nums) {
121+
dfs(0, nums.size(), nums);
122+
return res_;
123+
}
124+
};
125+
```

‎leetcode/47. Permutations II.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,4 +76,35 @@ class Solution {
7676
}
7777
}
7878
}
79+
```
80+
81+
###C++ version
82+
* Method 1:
83+
```objectivec
84+
class Solution {
85+
vector<vector<int>> res_;
86+
void dfs(int index, vector<bool>& visited, vector<int>& temp, vector<int>& nums){
87+
if(temp.size() == nums.size()) res_.emplace_back(temp);
88+
else{
89+
int size = nums.size();
90+
for(int i = 0; i < size; ++i){
91+
if (i > 0 && nums[i] == nums[i - 1] && !visited[i - 1]) continue;
92+
if(visited[i]) continue;
93+
visited[i] = true;
94+
temp.emplace_back(nums[i]);
95+
dfs(i + 1, visited, temp, nums);
96+
temp.pop_back();
97+
visited[i] = false;
98+
}
99+
}
100+
}
101+
public:
102+
vector<vector<int>> permuteUnique(vector<int>& nums) {
103+
vector<bool> visited(nums.size(), false);
104+
vector<int> temp;
105+
sort(nums.begin(), nums.end());
106+
dfs(0, visited, temp, nums);
107+
return res_;
108+
}
109+
};
79110
```

‎leetcode/784. Letter Case Permutation.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,3 +57,26 @@ Note:
5757
}
5858
```
5959

60+
###C++ version
61+
*Method1:
62+
```objectivec
63+
classSolution {
64+
vector<string> res_;
65+
voiddfs(strings,intindex,stringtemp){
66+
if(index== s.length()) res_.emplace_back(temp);
67+
else{
68+
if(!isalpha(s[index])){
69+
dfs(s, index+1, temp+ s[index]);
70+
}else{
71+
dfs(s, index+1, temp+ (char)tolower(s[index]));
72+
dfs(s, index+1, temp+ (char)toupper(s[index]));
73+
}
74+
}
75+
}
76+
public:
77+
vector<string>letterCasePermutation(stringS) {
78+
dfs(S,0,"");
79+
return res_;
80+
}
81+
};
82+
```

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp