本文主要是介绍LeetCode *** 77. Combinations,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目:
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], ]
分析:
dfs。
再次写错变量导致WA了一次。同时发现如果充满了对自己的怀疑是很不利于前进的。加油吧少年。
代码:
class Solution {
public:vector<vector<int>> res;vector<vector<int>> combine(int n, int k) {if(k>n)return res;vector<int> record;dfs(record,n,1,k);return res;}void dfs(vector<int> record,int n,int start,int k){if(k>n-start+1)return;if(k==0){res.push_back(record);return;}for(int i=start;i<n-k+2;++i){record.push_back(i);dfs(record,n,i+1,k-1);record.erase(record.end()-1);} }
};
这篇关于LeetCode *** 77. Combinations的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!