Given two integers n and k, return all possible combinations of k numbers out of 1 ... n.
For example,If n = 4 and k = 2, a solution is:
[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4],]answer:class Solution {public: vector<vector<int>> combine(int n, int k) { vector<vector<int>> result; vector<int> temp; myCombine(0,n,k,temp,result); return result; } void myCombine(int index, int n, int k,vector<int>& temp,vector<vector<int>>& result){ if(index > n || k < 0) return; if(k == 0){ result.push_back(temp); return; } for(int i = index + 1; i <= n; i ++){ temp.push_back(i); myCombine(i,n,k - 1,temp,result); temp.pop_back(); } }};
新闻热点
疑难解答