如何实现高效的java版排列组合算法
发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,这篇文章主要介绍了如何实现高效的java版排列组合算法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体内容如下package Bea
千家信息网最后更新 2025年01月24日如何实现高效的java版排列组合算法
这篇文章主要介绍了如何实现高效的java版排列组合算法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
具体内容如下
package BeanUtil;import java.util.ArrayList;import java.util.List;import com.work.core.exception.OurException;/** * 统计任三出现的最多的几率的组合 * * @author wangmingjie * @date 2009-1-1下午01:22:19 */public class Copy_2_of_StatisAnyThree {// 组合算法 // 本程序的思路是开一个数组,其下标表示1到m个数,数组元素的值为1表示其下标 // 代表的数被选中,为0则没选中。 // 首先初始化,将数组前n个元素置1,表示第一个组合为前n个数。 // 然后从左到右扫描数组元素值的"10"组合,找到第一个"10"组合后将其变为 // "01"组合,同时将其左边的所有"1"全部移动到数组的最左端。 // 当第一个"1"移动到数组的m-n的位置,即n个"1"全部移动到最右端时,就得 // 到了最后一个组合。 // 例如求5中选3的组合: // 1 1 1 0 0 //1,2,3 // 1 1 0 1 0 //1,2,4 // 1 0 1 1 0 //1,3,4 // 0 1 1 1 0 //2,3,4 // 1 1 0 0 1 //1,2,5 // 1 0 1 0 1 //1,3,5 // 0 1 1 0 1 //2,3,5 // 1 0 0 1 1 //1,4,5 // 0 1 0 1 1 //2,4,5 // 0 0 1 1 1 //3,4,5 public static void main(String[] args) { Copy_2_of_StatisAnyThree s = new Copy_2_of_StatisAnyThree(); s.printAnyThree(); } /** * */ public void printAnyThree(){ int[] num = new int[]{1,2,3,4,5,6}; print(combine(num,3)); } /** * 从n个数字中选择m个数字 * @param a * @param m * @return */ public List combine(int[] a,int m){ int n = a.length; if(m>n){ throw new OurException("错误!数组a中只有"+n+"个元素。"+m+"大于"+2+"!!!"); } List result = new ArrayList(); int[] bs = new int[n]; for(int i=0;i感谢你能够认真阅读完这篇文章,希望小编分享的"如何实现高效的java版排列组合算法"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
组合
数组
移动
元素
篇文章
算法
同时
下标
个数
数字
代表
价值
位置
兴趣
内容
几率
只有
右边
思路
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
某某区网络安全宣传周方案
互动软件开发平台游戏
聚美优品 服务器
韶关网络安全宣传视频
软件开发企业的资格
河北特色软件开发概念设计
永劫不同服务器怎么送礼物
三级网络技术真题
张湾区专业软件开发售后保障
梯控服务器
葡萄市场消费者意愿数据库
178魔兽世界官网数据库
用软件开发图片
c 怎么获取数据库元素个数
9月14日是网络安全
网络安全专业难度系数
电脑对服务器的远程访问
软件开发犯法的事
华东交通大学数据库抽题
网络技术经验分享
网络技术总监负责人
广州网络安全法培训学校
网络安全大赛陇剑杯
汽车网络安全芯片创新
数据库与应用高校研究生考试
天津麒麟区天创网络技术有限公司
软件开发产品的销售价值
网络安全组织保障体系
互联网科技专业的就业方向
德州智慧社区软件开发专业制作