Java实现全组合
来源:互联网 发布:浙江有多少工厂数据 编辑:程序博客网 时间:2024/06/06 00:59
/** * abs 的all combination is : abc, a, b, c, ab, ac, bc; == 2^n - 1次 */public class Combination { void combination(String s) { char[] strs = s.toCharArray(); int n = s.length(); int nbit = 1 << n; for (int i = 0; i < nbit; i++) { for (int j = 0; j < n; j++) { int tmp = 1 << j; if ((tmp & i) != 0) { // 1&3 == 2, ... System.out.print(strs[j]); } } System.out.println(); } System.out.println("result num is : " + (nbit - 1)); } public static void main(String[] args) { new Combination().combination("abc"); }}
参考了网上的博客,主要,就是二进制的理解,还有&的用法,就是两个数, 对于每一位的二进制数,如果两个数都是1, 那么结果中相应位也是1;
比如3的二进制: 0011和 5的二进制: 0101
3 & 3 == 0011 & 0101
== 0011
0101 == 0001 == 1
结果是1
阅读全文
0 0
- Java实现全组合
- 全排列、全组合 java实现
- 全排列和组合-JAVA版本实现
- java实现全排列和组合
- Java实现全排列、组合算法
- C++ 实现全组合
- java全组合算法
- 高效率的全组合算法(Java版实现)
- [算法学习]Java实现字符序列全组合
- 高效全组合算法实现
- 全排列和全组合实现
- 全排列和全组合实现
- 全排列和全组合实现
- 全排列和全组合实现
- 全排列和全组合实现
- 字符串全排列与全组合的递归实现-Java版
- 字符串的全组合非递归实现
- 递归实现全排列和组合
- 每日一题——求二叉树叶子节点个数,第K层节点个数
- 五:标签管理
- web第8天mysql
- 常用的 MATLAB 神经网络工具箱函数
- 知道做到,三层大脑
- Java实现全组合
- Solr安装部署(八)
- 生命游戏——一个简单的元胞自动机
- 每天进步一点点----敏感词过滤
- 【C语言】【unix c】计算机的操作系统
- spring+spring mvc+mybatis项目配置
- 基础复习04
- 深入理解css行高与基线
- codeforces 445B DZY Loves Chemistry 贪心 dfs 并查集