Java找出数字组合的方法是什么
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,这篇文章主要介绍"Java找出数字组合的方法是什么",在日常操作中,相信很多人在Java找出数字组合的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Java找
千家信息网最后更新 2025年02月03日Java找出数字组合的方法是什么
这篇文章主要介绍"Java找出数字组合的方法是什么",在日常操作中,相信很多人在Java找出数字组合的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Java找出数字组合的方法是什么"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
给出一组候选数字(C)和目标数字(T),找到C中所有的组合,使找出的数字和为T。C中的数字可以无限制重复被选取。例如,给出候选数组[2,3,6,7]和目标数字7所求的解为:[7] 和 [2,2,3]给定一个数组,从中找出一组数来,使其和等于target。数组无序,但都是正整数。与40题比较I和II不同的是,I数组里没有重复的数,但一个数可以用多次;II数组里有重复,一个数只能用一次。I和II都要求返回结果中没有重复的解,且每个解中的数都按非递减排好序。
package com.lifeibigdata.algorithms.leetcode;import java.util.ArrayList;import java.util.Arrays;import java.util.List;/** * Created by lifei on 16/7/4. */public class CombinationSum { public static void main(String[] args) { int[] can = new int[]{5,3,2,1}; CombinationSum cs = new CombinationSum(); cs.combinationSum(can,6); for (Listlist:ans) { for (int i:list) { System.out.print(i+","); } System.out.println(); } }// static List > result;// List
solu;// public List > combinationSum(int[] candidates, int target) {// result = new ArrayList<>();// solu = new ArrayList<>();// Arrays.sort(candidates);// getCombination(candidates, target, 0, 0);// return result;// }// public void getCombination(int[] candidates, int target, int sum, int level){// if(sum>target) return;// if(sum==target){// result.add(new ArrayList<>(solu));// return;// }// for(int i=level;i
> ans = new ArrayList >();//声明全局变量 int[] cans = {}; public List
> combinationSum(int[] candidates, int target) { this.cans = candidates; Arrays.sort(cans); backTracking(new ArrayList(), 0, target); return ans; } public void backTracking(List
cur, int from, int target) {//初次cur为空 if (target == 0) { List list = new ArrayList (cur); ans.add(list); } else { for (int i = from; i < cans.length && cans[i] <= target; i++) {//界限条件 cur.add(cans[i]); backTracking(cur, i, target - cans[i]); //递归调用 cur.remove(new Integer(cans[i])); } } } /** * * * * 1,1,1,1,1,1, 1,1,1,1,2, 1,1,1,3, 1,1,2,2, 1,2,3, 1,5, 2,2,2, 3,3, */}
到此,关于"Java找出数字组合的方法是什么"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
数字
方法
组合
数组
学习
个数
更多
目标
帮助
不同
实用
接下来
从中
全局
变量
所求
整数
文章
无限制
条件
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
dns服务器域名创建
中国脑特征码数据库
ftp服务器断点续传
共享服务器不支持扫描hp打印机
华为服务器管理口安装系统
大学生网络安全社会实践
华三网络技术视频
开展网络安全宣传稿件
程序猿的互联网科技
李沧区定制软件开发外包公司
东城数据库加密系统
网络安全虚拟现实
平邑县世创软件开发工作室
数据库 事务 并发
河南哪个大学有软件开发
软件开发 接收应届毕业生
android更新数据库
自己做数据库管理系统
数据库和编程有什么联系
app软件开发 东莞
数据库三者之间关系
学生餐卡缴费管理系统数据库
hbase覆盖数据库
江苏电商软件开发哪家正规
福建天睿网络技术有限公司
常见的网络安全推送图
修改数据库使用的sql语句
服务器被c了
局网络安全工作制度
成都网络安全专业好就业吗