求一组数的组合的和为一个值的所有情况
package leetcode;
/**
* 题目
给出一组候选数字(C)和目标数字T,找到C中所有的组合,使找出的数字和为T。C中的数字可以无限制重复被选取。
例如,给出候选数组[2,3,6,7]和目标数字7,所求的解为:
[2,2,3]
[7]
分析:对候选数去重后,DFS求组合和等于目标数字。
*/
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;public class n12conbunationSum {public static int[] a;public static int[] b;public static int c=0;public static int N=0;public static void main(String[] args) {Scanner input=new Scanner(System.in);N=input.nextInt();a=new int[N];b=new int[N];int j=0;if(N<=0)return;while(j<N){a[j]=input.nextInt();j++;}c=input.nextInt();removeDuplicate();fun(0,new ArrayList<Integer>(),0);}/*** 数据去重*/private static void removeDuplicate() {Arrays.sort(a);int j=0;for(int i=0;i<N-1;i++){if(a[i]!=a[i+1]){b[j++]=a[i]; }}b[j]=a[N-1];}/*** dfs*/private static void fun(int d, List<Integer> conbu,int sum) {if(sum==c){for(Integer i:conbu){System.out.print(i+" ");}System.out.println();return;}for(int i=d;i<N;i++){if(c<sum+b[i]){break;}conbu.add(b[i]);fun(i,conbu,sum+b[i]);conbu.remove(conbu.size()-1);}}}
求一组数的组合的和为一个值的所有情况相关推荐
- 如何用EXCEL求一组数的方差…
原文地址:如何用EXCEL求一组数的方差和标准差以及均值 作者:高卓如 求一组数的方差: 点击想放方差的表格空白处,然后在上面的窗口中的FX右边的窗口中输入"=VAR(数组起始位置:数 ...
- 6-3 求一组数中的平均值及最大值 (10 分)
本题要求实现一个函数,求一组数的平均值.最大值. 函数接口定义: float Fun( int *p, int n,int *max); 其中 p.n.max 都是用户传入的参数.函数求数组中n个元素 ...
- 6-4 求一组数中的最大值、最小值和平均值
6-4 求一组数中的最大值.最小值和平均值 编写函数,求一组数中的最大值.最小值和平均值. 函数接口定义: float fun(int a[],int n,int *max,int *min); 其中 ...
- 求一组数的最大公因数和最小公倍数
求一组数的最大公因数和最小公倍数 求两个数的最大公因数和最小公倍数 1.辗转相除法 2.更相减损术 这里采用辗转相除法 #include <iostream> using namespac ...
- 求一组数的最大公约数和最小公倍数
求一组数的最大公约数和最小公倍数 问题描述 1.[简单练习]求N个数的最大公约数和最小公倍数 2.[提高练习]Hanks博士是BT(Bio-Tech,生物技术)领域的知名专家,他的儿子名叫Hankso ...
- python求一组数中最大数_python如何求一组数的最大值?_后端开发
php中session用法详解_后端开发 PHP中的session默认情况下是使用客户端的Cookie,当客户端的Cookie被禁用时,会自动通过[Query_String]来传递,其中[sessio ...
- c语言中求大于的函数,c语言编写函数,求一组数中大于平均值的数的个数.
C语言编写程序 给定一组数,求大于0,等于0,小于0的数据个数 #define N 10 main(){int num1=0,num2=0,num3=0,i;for(i=0;i 一道C语言题目:求一组 ...
- 用java求一组数的平均值
用java求一组数的平均值 使用java中的数组和for循环 public class pingjun { public static void main(String[] args) {int su ...
- 求一组数中的最大值和最小值
Description 给定一组数,求它们中的最大值和最小值. Input 首先是一个整数n,表示这组数据的个数. 然后是n个整数,中间用空格分隔. Output 输出最大值和最小值,中间用" ...
最新文章
- 关于ADAM中自定义Class Schema后不能创建该Class的实例的问题
- xgboost 的 get_fscore()
- java版DVD影碟片出租赁系统C/S模式 java电影购票系统课程设计
- Repeater 绑定下拉列表
- 【渝粤教育】广东开放大学 机械制造基础 形成性考核 (51)
- 最长非单调增序列(最长非单调增序列,,要用N*LOG N(非常值得琢磨的算法。)...
- 基于ubuntu18.04LTS SERVER版的基础系统安装过程
- 网易宣布:招30人![免费加入]网易java人才培养计划!
- 使用腾讯云短信SDK发送验证码
- Matlab中imhist函数的使用及图像直方图的概念
- 多旋翼姿态解算之Mahony互补滤波
- 第一个Python程序--Python
- ajax上传图片到又拍云,又拍云存储(UpYun)的.NET Core填坑
- 【android相册】加载相册中的图片,实现图片缓存
- 开机要按F1的解决方法
- [hihoCoder] 买零食
- SpringMVC处理器映射器HandlerMapping
- android 距离校准,通过距离校准设备提升WiFi定位精度的方法与流程
- 网页元素常见的定位方式
- 2015最新微信分享功能开发,自定义分享内容。
热门文章
- 【面向对象】小游戏“终结者”程序的设计与实现
- 美国核聚变反应中首次实现净能量增益 或改变未来能源路线图
- 对于LSM Tree写放大问题的一些浅薄学习
- 发泡聚苯乙烯(EPS)的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- cf768G The Winds of Winter 主席树
- QT + FFmpeg 5.x + x264 + x265 + SDL2 音视频播放器
- caffe python 图片训练识别 实例
- python实现青蛙跳台阶算法
- 富爸爸财务自由之路——财富自由之路的七个步骤
- 不要想在任何事上都占上风