From f16de1095aff8395eba87d0ec0edccddcdae4257 Mon Sep 17 00:00:00 2001 From: crupest Date: Wed, 13 May 2020 18:35:51 +0800 Subject: import(solutions): Add problem 77 . --- works/solutions/cpp/77.cpp | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 works/solutions/cpp/77.cpp (limited to 'works/solutions/cpp/77.cpp') 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 + +using std::vector; + +void combine1(int start, int end, int rest_select_count, vector &head, vector> &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> combine(int n, int k) + { + vector> result; + + vector 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 -- cgit v1.2.3