组合算法
来源:互联网 发布:linux vi 中替换命令 编辑:程序博客网 时间:2024/06/02 09:01
算法1:
高效算法:对n个数进行全组合,共有2^n-1种算法,即求每个数的二进制表示方式。
//此方法判断1所在二进制位置采用与判断 public static void main(String args[]){ String[] str={"A","B","C","D","E"};//共有31种全组合方式 int ncount=str.length; int nBit=(1>>ncount)-1; for(int i=1;i<=nBit;i++){ for(int j=0;j<ncount;j++){//判断每个组合数中出现1的位置 if((1>>j&i)!=0){ System.out.println(str[j]);//求得在数值i二进制表示法中所占位置, } System.out.println(""); }}}
//此方法判断1所在位置采用整体左移n位,使得占位1所在的位置处于最高位,然后右移使其变为0xFFFFFFFF即为-1,可确定1所在位置 public static void main(String args[]){ String[] str={"A","B","C","D","E"};//共有31种全组合方式 int ncount=str.length; int nBit=(0xFFFFFFFF>>>(32-ncount)); for(int i=1;i<=nBit;i++){ for(int j=0;j<ncount;j++){//判断每个组合数中出现1的位置 if(i<<(31-j)>>31)==-1){ System.out.println(str[j]);//求得在数值i二进制表示法中所占位置 } System.out.println(""); }}}
0 0
- 组合算法
- 组合算法
- 组合算法
- 组合算法
- 组合算法
- 组合算法
- 组合算法
- 组合算法
- 组合算法
- 组合算法
- 【算法】组合
- 组合算法
- 组合算法
- 组合算法
- 组合算法
- 组合算法
- 组合算法
- 组合算法 combination 源代码
- 利用dd迁移机器到openstack上
- 微信小程序 更改navbar上面的文字呢
- Timesys Fedora18系统配置
- Mac下OpenCV的安装
- Android中ViewPager+Fragment懒加载问题解决方案Android中ViewPager+Fragment取消(禁止)预加载延迟加载(懒加载)问题解决方案
- 组合算法
- 过滤器案例之编码问题处理、代理对象的使用、过滤器案例之无效数据的过滤
- Docker配置加速器
- caffe for windows的python接口学习(3):生成以原始图片作为输入的配置文件
- java基础学习第一天
- codeforces round 360 div2 C Chris and Roads
- centos下/etc/sysconfig/下找不到iptables文件
- 前后台交互的传参方式与大参数传递
- YOLOv2如何fine-tuning?