思路 先找出 集合中 所有元素组合方式 然后根据组合方式 进行相加匹配和
本代码有一处需要优化的地方 有大佬能帮忙优化就万分感谢了 暂时 此段代码 检索小集合没有问题
Integer[] inv2 = inv.clone();
reslist.add(inv2); 此处代码 有可能会导致 内存溢出
在此 如果代码上又和其他人冲突的 请见谅 本人手码代码无抄袭 望采纳本代码的同僚能帮忙及时更正 谢谢

 static String input[] = { "2", "360.00","1231","2321", "5879.52", "8040", "14277.60" };public static void main(String[] args) {List<String> list = Arrays.asList(input);List<String> list1 = new ArrayList<String>(list);List<Integer[]> ls = Combination(list1, 0);for (int i = 0; i < ls.size(); i++) {Integer[] tt = ls.get(i);System.out.print("第" + (i + 1) + "组组合元素:");String number = "0";for (int j = 0; j < tt.length; j++) {System.out.print(list1.get(tt[j]) + " ");number = addMoney(number,list1.get(tt[j]));}if(number.equals("28197.12‬")) {System.out.println("success");}System.out.println(",");}}public static String addMoney(String mny1, String mny2) {if (ValidateUtil.isEmpty(mny1) || ValidateUtil.isEmpty(mny2)) {throw new AppException("传入金额不能为空");}BigDecimal bmny1 = new BigDecimal(mny1);BigDecimal bmny2 = new BigDecimal(mny2);return bmny1.add(bmny2).toPlainString();}/*** 求 某集合 所有与组合 下标 元素组合 公式 n!/r!(n-r)! 如果 r > 0 则返回的 下标组合 仅为 某一种 组合 如果 r = 0 则* 下标组合 为 1 到 n 所有组合* * @param list 求组合的 集合元素* @param r    组合长度* @return*/public final static List<Integer[]> Combination(final List<String> list, final int r) {List<Integer[]> reslist = new ArrayList<Integer[]>();int end = list.size();int start = 1;if (r > 0) {end = r;start = r;}for (int i = start; i <= end; i++) {Integer[] inv = new Integer[i];Combination(list, 0, inv, 0,reslist);}return reslist;}public final static void Combination(final List<String> list1, final int a_pos, final Integer[] inv, final int rs_pos,List<Integer[]> reslist) {if (rs_pos >= inv.length) {Integer[] inv2 = inv.clone();reslist.add(inv2);} elsefor (int ap = a_pos; ap < list1.size(); ap++) {inv[rs_pos] = ap;Combination(list1, ap + 1, inv, rs_pos + 1,reslist);}}

集合中某几个数字之和等于一个固定值 java相关推荐

  1. 快速找出一个数组中的两个数字,让这两个数字之和等于一个给定的值

    我觉得写得很清晰,希望没有侵犯作者的著作权,原文地址http://blog.csdn.net/hackbuteer1/article/details/6699642 快速找出一个数组中的两个数字,让这 ...

  2. java 相加 等于一个数_Java 集合、数组 任意个数数字相加等于一个指定的数

    一组数字 任意个数数字相加的和等于指定的数字.  比如数字集合 1,2,3, 4,5,6  ,列出所有数字相加等于6的可能性,那么结果有:1+2+3,2+4, 主要这里的结果不是数组打乱顺序相加,而是 ...

  3. 给定数组A,大小为n,现给定数X,判断A中是否存在两数之和等于X

    1. 问题描述 给定排的数组A,大小为n,现给定数X,判断A中是否存在两数之和等于X.给出一个O(nlg(n))的算法. 2. 解决思路 首先对数组进行排序,如果使用归并的排序的话,算法的复杂度在nl ...

  4. Java 特殊回文。123321是一个非常特殊的数,它从左边读和从右边读是一样的。输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。

    问题描述 123321是一个非常特殊的数,它从左边读和从右边读是一样的. 输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n . 输入格式 输入一行,包含一个正整数n. 输 ...

  5. 【Python蓝桥杯】特殊回文数 123321是一个非常特殊的数,它从左边读和从右边读是一样的。输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。

    最近在刷蓝桥杯题目,按题目做一下笔记整理,顺便分享交流一下,有更好的解决方案欢迎大家共同提出探讨,以下源代码为系统提交满分答案 特殊回文数 问题描述 资源限制 Python时间限制:5.0s. 问题描 ...

  6. 排序数组中的两个数字之和

    剑指offer6: 给定一个递增排序整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标.比如:给数组nums=[1 ...

  7. java中如何限制输入非空_项目中的参数限制、非空、以及集合中的验证,你真的会做吗(Java)...

    背景: 在项目管理中,我们通常要对一个个参数做验证, 前端校验,后端加校验,这里为了保证校验的一致性,我们需要将我们的校验写的比较高效率一点,不至于满篇都是is null的进行参数验证,为了成为一个成 ...

  8. excel几个数相加等于某个数_[求助]如何能计算出几个数字相加等于一个给定的数...

    QUOTE: 以下是引用jiang041111在2007-2-6 19:54:13的发言: 已知一个数字和一组数字,比如说2.6.78.90.34.21.35--,113,如何能自动找出哪几个数字相加 ...

  9. java8用一行代码将一个List集合中的部分内容复制到另一个List集合

    举例: 一张数据表user包括id,name,age,gender. 用List<User>装该数据表的全部数据,在这里我们假如直接获得这部分数据: List<User> us ...

最新文章

  1. Singleton设计模式
  2. 我的vim 配置——nerdtree、ack vim、vim sneak
  3. android界面不可见键盘隐藏功能,Android中点击隐藏软键盘最佳方法
  4. cocos2d-x游戏开发(十)执行单元场景CCScene
  5. Nginx服务学习(6)-日志模块
  6. java8 base64_Java 8中的Base64 –加入乐趣为时不晚
  7. [Python]网络爬虫(11):亮剑!爬虫框架小抓抓Scrapy闪亮登场!
  8. java 池化_溯本求源: JAVA线程池工作原理
  9. poj1200 Crazy Search(hash)
  10. 华为android phone 驱动,Huawei 手机 驱动程序下载——更新 Huawei 软件
  11. python弧度转角度_Python中转换角度为弧度的radians()方法
  12. css3 呼吸的莲花_心肾呼吸法—莲花能量冥想*
  13. java结业作业_学习平台-北语201606考试批次《JAVA语言程序设计》(结课作业)答案-成人高等教育_成人本科教育报名_远程网络教育学院-江苏学历网报名服务中心...
  14. java 汉语词频_java中文词频统计
  15. 如何深入理解php中的值传递和引用传递
  16. 跟Android自带模拟器说拜拜,Mac Genymotion 使用心得
  17. Day02-HTML基础
  18. MySQL按拼音首字母排序
  19. linux发送http请求
  20. 白话机器学习算法理论+实战之PCA降维

热门文章

  1. 开发技术指南 | 最全 Substrate 与 Polkadot 技术文档、教程、课程
  2. ie6,ie7常见兼容性问题总结
  3. 周志华机器学习(一)
  4. js数组操作的一些方法在面试题的使用
  5. 国产操作系统调研 -- 银河麒麟4.0.2
  6. WORD中插入VISIO图形,打印乱码解决
  7. docker常见面试题
  8. 骚操作 | 2秒教你用微信远程控制电脑,Get~
  9. C++课程设计——电话簿(文件流)
  10. JDK 商用正式免费、Log4j2 爆核弹级漏洞、LayUI 下线...2021 发生的 10 件大事。。。