Skip to content

Commit 0cff62c

Browse files
committed
0216 solved.
1 parent 538ffeb commit 0cff62c

File tree

3 files changed

+72
-0
lines changed

3 files changed

+72
-0
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
cmake_minimum_required(VERSION 3.5)
2+
project(cpp_0216)
3+
4+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
5+
6+
set(SOURCE_FILES main.cpp)
7+
add_executable(cpp_0216 ${SOURCE_FILES})
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
/// Source : https://leetcode.com/problems/combination-sum-iii/description/
2+
/// Author : liuyubobobo
3+
/// Time : 2018-03-04
4+
5+
#include <iostream>
6+
#include <vector>
7+
8+
using namespace std;
9+
10+
11+
class Solution {
12+
public:
13+
vector<vector<int>> combinationSum3(int k, int n) {
14+
15+
vector<vector<int>> res;
16+
vector<int> cur_res;
17+
solve(1, k, n, cur_res, res);
18+
return res;
19+
}
20+
21+
private:
22+
void solve(int index, int k, int n,
23+
vector<int>& cur_res, vector<vector<int>>& res){
24+
25+
if(n == 0 && k == 0){
26+
res.push_back(cur_res);
27+
return;
28+
}
29+
30+
if(k == 0)
31+
return;
32+
33+
for(int i = index ; i <= 9 ; i ++)
34+
if(n >= i){
35+
cur_res.push_back(i);
36+
solve(i + 1, k - 1, n - i, cur_res, res);
37+
cur_res.pop_back();
38+
}
39+
40+
return;
41+
}
42+
};
43+
44+
void print_vec(const vector<int>& vec){
45+
for(int e: vec)
46+
cout << e << " ";
47+
cout << endl;
48+
}
49+
50+
int main() {
51+
52+
vector<vector<int>> res1 = Solution().combinationSum3(3, 7);
53+
for(const vector<int>& a_res: res1)
54+
print_vec(a_res);
55+
56+
cout << endl;
57+
58+
vector<vector<int>> res2 = Solution().combinationSum3(3, 9);
59+
for(const vector<int>& a_res: res2)
60+
print_vec(a_res);
61+
62+
return 0;
63+
}

readme.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,8 @@ email: [liuyubobobo@gmail.com](mailto:liuyubobobo@gmail.com)
116116
| | | | | | |
117117
| 213 | [House Robber II](https://leetcode.com/problems/house-robber-ii/description/) | [] | [C++](0213/House-Robber-II/cpp-0213/) | | |
118118
| | | | | | |
119+
| 216 | [Combination Sum III](https://leetcode.com/problems/combination-sum-iii/description/) | [] | [C++](0216/Combination-Sum-III/cpp-0216/) | | |
120+
| | | | | | |
119121
| 218 | [The Skyline Problem](https://leetcode.com/problems/the-skyline-problem/description/) | | [C++](0218-The-Skyline-Problem/cpp-0218/) | | |
120122
| 219 | [Contains Duplicate II](https://leetcode.com/problems/contains-duplicate-ii/description/) | [solution](https://leetcode.com/problems/contains-duplicate-ii/solution/) | [C++](0219-Contains-Duplicate-II/cpp-0219/) | [Java](0219-Contains-Duplicate-II/java-0219/src/) | |
121123
| 220 | [Contains Duplicate III](https://leetcode.com/problems/contains-duplicate-iii/description/) | [solution](https://leetcode.com/problems/contains-duplicate-iii/solution/) | [C++](0220-Contains-Duplicate-III/cpp-0220/) | [Java](0220-Contains-Duplicate-III/java-0220/) | |

0 commit comments

Comments
 (0)