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], ]
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | class Solution { public : void findCombination( int &n, int &k, int level, vector< int > &buf, vector<vector< int >> &res){ if (buf.size()==k){ res.push_back(buf); return ; } for ( int i=level;i<=n;i++){ buf.push_back(i); findCombination(n,k,i+1,buf,res); buf.pop_back(); } } vector<vector< int > > combine( int n, int k) { vector<vector< int >> res; vector< int > buf; findCombination(n,k,1,buf,res); return res; } }; |
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步