LeetCode---Combinations
来源:互联网 发布:网络时时彩有正规平台 编辑:程序博客网 时间:2024/06/01 07:51
题目大意:给出两个整数n和k,找出从1~n中包含k个数的所有组合。
算法思想:
1.计算出1~n个元素构成集合的所有子集合的个数subset_nums。
2.将每个子集合用0~subset_nums进行编号,将该编号表示成二进制形式。
3.找出出每个编号中二进制位数为1的个数等于k的编号。
4.然后遍历这些编号的二进制将对应位为1元素放入集合中。
5.将每个找出的子集合放入结果集中。
代码如下:
class Solution {public: vector<vector<int>> combine(int n, int k) { vector<vector<int> >res; if(n<k||n==0||k<0) return res; int subset_nums=pow(2,n); vector<int> temp; for(int i=0;i<subset_nums;++i){ bitset<32> bitset(i); if(bitset.count()!=k) continue; for(int i=0;i<n;i++){ if(bitset[i]){ temp.push_back(i+1); }}res.push_back(temp);temp.clear();}return res; }};
0 0
- LeetCode: Combinations
- LeetCode: Combinations
- LeetCode Combinations
- [Leetcode] Combinations
- [LeetCode] Combinations
- Leetcode: Combinations
- LeetCode Combinations
- [Leetcode] Combinations
- [Leetcode] Combinations
- [leetcode] Combinations
- [LeetCode]Combinations
- [leetcode]Combinations
- LeetCode-Combinations
- [leetcode] Combinations
- LeetCode - Combinations
- 【Leetcode】Combinations
- Leetcode: Combinations
- 【leetcode】Combinations
- linux下gcc/g++编译器使用简介及makefile的书写规则
- 有关animation抽屉动画示例
- 如何重新签名ipa文件
- 剑指offer:顺时针打印矩阵
- 5个必须掌握的maven命令
- LeetCode---Combinations
- EF Code First 导航属性 与外键 学习笔记
- 清空缓存
- androidStudio使用反射机制
- dnsyo - 在全球超过1500个DNS服务器上检查你的域名解析记录
- execve函数族详解
- 判断栈的弹出序列
- Struts2中关于"There is no Action mapped for namespace / and action name"的总结
- ubuntu12.04安装或升级firefox至最新版(firefox20.0)