diff options
| author | crupest <crupest@outlook.com> | 2020-05-13 18:35:51 +0800 | 
|---|---|---|
| committer | crupest <crupest@outlook.com> | 2020-05-13 18:35:51 +0800 | 
| commit | f16de1095aff8395eba87d0ec0edccddcdae4257 (patch) | |
| tree | 2e766d49a31332589b070a1e90286fda881efa3f /works/solutions/cpp | |
| parent | e912950729b789c68d73b332db3003638371f215 (diff) | |
| download | crupest-f16de1095aff8395eba87d0ec0edccddcdae4257.tar.gz crupest-f16de1095aff8395eba87d0ec0edccddcdae4257.tar.bz2 crupest-f16de1095aff8395eba87d0ec0edccddcdae4257.zip  | |
import(solutions): Add problem 77 .
Diffstat (limited to 'works/solutions/cpp')
| -rw-r--r-- | works/solutions/cpp/.gitignore | 4 | ||||
| -rw-r--r-- | works/solutions/cpp/77.cpp | 45 | 
2 files changed, 48 insertions, 1 deletions
diff --git a/works/solutions/cpp/.gitignore b/works/solutions/cpp/.gitignore index adb36c8..d1d85a8 100644 --- a/works/solutions/cpp/.gitignore +++ b/works/solutions/cpp/.gitignore @@ -1 +1,3 @@ -*.exe
\ No newline at end of file +*.exe
 +*.pdb
 +*.ilk
\ No newline at end of file diff --git a/works/solutions/cpp/77.cpp b/works/solutions/cpp/77.cpp new file mode 100644 index 0000000..ec09198 --- /dev/null +++ b/works/solutions/cpp/77.cpp @@ -0,0 +1,45 @@ +#include <vector>
 +
 +using std::vector;
 +
 +void combine1(int start, int end, int rest_select_count, vector<int> &head, vector<vector<int>> &result)
 +{
 +    if (rest_select_count == 0)
 +    {
 +        for (int i = start; i < end; i++)
 +        {
 +            head.push_back(i);
 +            result.push_back(head);
 +            head.pop_back();
 +        }
 +        return;
 +    }
 +
 +    for (int i = start; i < end - rest_select_count; i++)
 +    {
 +        head.push_back(i);
 +        combine1(i + 1, end, rest_select_count - 1, head, result);
 +        head.pop_back();
 +    }
 +}
 +
 +class Solution
 +{
 +public:
 +    vector<vector<int>> combine(int n, int k)
 +    {
 +        vector<vector<int>> result;
 +
 +        vector<int> head;
 +        combine1(1, 1 + n, k - 1, head, result);
 +
 +        return result;
 +    }
 +};
 +
 +int main()
 +{
 +    Solution s;
 +    auto result = s.combine(20, 16);
 +    return 0;
 +}
\ No newline at end of file  | 
