Java 列举数组中任意元素和为定值的组合
import java.util.Arrays;/*** 列举数组中任意元素和为定值的组合*/
public class SolveProb {// Arrays.sort(arr);static int[] flag = new int[100];static int index = 0;// 记录当前public SolveProb() { }public static void numGroupAll(int[] arr, int start, int length, int sum) {if (sum == 0) {for (int j = 0; j < index; j++) {System.out.print(flag[j]);}System.out.println();} else if(sum>0) {for (int i = start; i < length; i++) {flag[index++] = arr[i];SolveProb.numGroupAll(arr, i + 1, length-1, sum - arr[i]);} }index--; //若sum<0 则表示该数不满足条件,需要index--, 因为之前假设该数满足条件 index++找该数下一个数}public static void numGroup(int[] arr, int start, int length, int sum) {if (sum == 0) {for (int j = 0; j < index; j++) {System.out.print(flag[j]);}System.out.println();} else if(sum>0) {for (int i = start; i < length; i++) {int temp_sum=sum - arr[i];if(temp_sum>=0) {flag[index++] = arr[i];// System.out.println(index);SolveProb.numGroup(arr, i + 1, length-1, sum - arr[i]);}else //因为后面的数比这个大,若此时temp_sum小于0,则后面的数更不满足条件,不用再进行循环break;} }index--;// System.out.println(index);}public static void main(String[] args) {int[] arr = { 1, 3, 2, 4, 5, 6, 7, 8, 9 };int sum = 7;//SolveProb.numGroupAll(arr, 0, arr.length, sum);//数组未排序Arrays.sort(arr); //对数组进行排序后的话,可以用numGroup方法SolveProb.numGroup(arr, 0, arr.length, sum);}
}
Java 列举数组中任意元素和为定值的组合相关推荐
- Java输出数组中最长递增子序列的代码
下面内容是关于Java输出数组中最长递增子序列的内容,希望对大伙有较大用途. package com.wzs;import java.util.ArrayList; import java.util. ...
- java替换数组中的元素_如何使用Java 8流快速替换列表中的元素
java替换数组中的元素 假设您有一个项目清单: List<String> books = Arrays.asList("The Holy Cow: The Bovine Tes ...
- java向数组中增加新元素_用Java中的新元素替换List的给定索引处的元素
java向数组中增加新元素 Given a list of the integers and we have to replace it an element from specified index ...
- java从数组中删除元素(数组的缩容)
java从数组中删除元素(数组的缩容) 1,解决方案一 /* * 数组的缩容(删除元素) * 第一种解决方案 * 移动元素,被删除元素后面的元素往前移一位 * 优点:不需要创建新数组,省内存,速度快 ...
- java查询数组中元素的索引
java查询数组中元素的索引 /*** java查询数组中元素的索引*/ public class Test03 {public static void main(String[] args) {in ...
- java数组元素序号,Java在数组中查找指定元素
Java在数组中查找指定元素 以下实例演示了如何使用 contains () 方法来查找数组中的指定元素: Main.java 文件 import java.util.ArrayList; publi ...
- java删除数组中重复元素的方法
java删除数组中重复元素的方法 方法一:for双循环 方法二:利用HashMap,储存元素 方法一:for双循环 1.声明int类型index,该数即可为不重复元素下标,还可统计数组中不重复元素的个 ...
- java删除数组中重复元素的几种方法
Java操控数组,删除数组中所有的重复元素,使其数组元素全部唯一,有以下几种方法: 1,使用set(最好想到),set本身就是不重复的集合: package Array_test;import jav ...
- java删除数组中重复元素
id="BAIDU_DUP_fp_iframe" src="https://pos.baidu.com/wh/o.htm?ltr="> > src= ...
最新文章
- 传感器融合带来多重好处
- 五 Android Studio打包Eegret App (包名和签名,打出正式包)
- 学会扶墙的机器人:没有什么能让我倒下!
- saltstack(八):saltstack配置管理-安装配置启动tomcat样例
- Ardino基础教程 13_温度传感器
- 计算机科学速成视频35,计算机科学速成课30:万维网【视频】
- P3203-[HNOI2010]弹飞绵羊【分块】
- Go语言的类型系统 - 翻译
- 除了写代码,程序员还能做哪些副业呢?
- wincc7的常用c语言,wincc几个常用c语言编程-20210324073153.docx-原创力文档
- windows bat 命令之%~dp0
- matlab 中norm函数的用法
- java山地车 故障,山地车骑行常见的10大问题及解决方案
- python速成_速成python
- 计算机专用计算器,功率计算器
- [市场前景]无线流媒体:无线运营商潜在的金矿?(转载)
- 推荐书籍---豆瓣9.2分---《编码:隐匿在计算机软硬件背后的语言》
- 深度学习之DCN-v2
- 开放平台设计之接口签名认证
- Eclipse集成Mybatis Generator及应用
热门文章
- 【分享】国内著名互联网企业PHP笔试题
- 【求职】有关面试和简历相关的总结与心得
- python爬取mblock的图片素材
- jmeter脚本之AES解密
- js my97 WdatePicker 联动触发change事件
- vscode win10笔记本 蓝屏_win10 最近突然频繁蓝屏
- 3.每天一个java小程序之累加累乘
- 使用umi快速搭建项目以及如何在umi中使用dva进行状态管理
- matlab2017b激活后打开报错License Manager Error -8
- 10000多套机械手毕业设计 课程设计 毕业论文 图纸 分享/上下料机械手、搬运机械手、苹果采摘机械手、液压机械手、三自由度机械手、水果采摘机械手、六自由度机械手、焊接机械手、码垛机械手、四自由……