类似背包问题,在n个实数中找到和最接近sum的几个数
来源:互联网 发布:java file 文件类型 编辑:程序博客网 时间:2024/04/28 00:35
首先通过biggest方法获取最接近sum的和m,然后使用bag01D方法得到n个实数中和为m的几个数,这样相当于进行了两个背包问题的求解,大家有没有什么更好的方法能在biggest方法中就得到和为m的几个数呢??
代码如下:
LinkedList<Double> listForBag01D=new LinkedList<Double>(); /** * 从data数组下标1到n内找到和为sum的一组数字 * @param data * @param n * @param sum */ public void bag01D(double[] data,double sum,int n){ if(n<0||sum<0)return ; if(Math.abs(sum-data[n])<0.000001){//比较double值的相等 System.out.println(listForBag01D ); System.out.println(data[n]); } listForBag01D.push(data[n]); bag01D(data,sum-data[n],n-1); listForBag01D.pop(); bag01D(data,sum,n-1); } LinkedList<Double> doubleList=new LinkedList<Double>(); /** * 从data中找到最接近于sum的和 * @param data * @param index * @param sum * @return */ public double biggest(double[] data,int index,double sum){ if(index<0||sum<=0) return 0; double with=Double.MIN_VALUE ,without=Double.MIN_VALUE; if(sum>=data[index]){ // doubleList.push(data[index]); with=biggest(data,index-1,sum-data[index])+data[index]; } without=biggest(data,index-1,sum); if(with>without){ // System.out.println(data[index]); return with; }else return without; // return Math.max(with,without ); }
- 类似背包问题,在n个实数中找到和最接近sum的几个数
- 有N个正实数(注意是实数,大小升序排列) x1 , x2 ... xN,另有一个实数M。 需要选出若干个x,使这几个x的和与 M 最接近。
- 346/5000 给定一个n个整数的数组S,在S中找到三个整数,使得总和最接近给定数量的目标。 返回三个整数的和。
- 数组中最接近N的数
- N个实数中偶数的平均值
- 搜狗面试题:从N个正实数中选若干个数之和最接近M的递归实现
- 3Sum Closest 3个数字的和等于或者最接近与目标数
- 在n个整数中选k个,使选出来的数的和为sum
- 给定一个数t,以及n个整数,在这n个数中找到加和为t的所有组合
- n个实数(仅包含正实数和负实数)组成的数组A进行重新排序, //使得其中的所有的负实数都要在正实数之前
- 3Sum Closest从数列中找到三个数之和最接近给定值
- LeetCode | 3Sum Closest(找到三个数使其和与target最接近)
- 3Sum Closest 三个数的和最接近某个值
- 在数组中找到次数大于N/K的数
- leetcode-java.T016_threeSumClosest---给定包含n个整数数组S,找到S中的三个整数,从而使之和最接近给定的数,返回三个整数的总和.
- 1~n和最接近10000中n的程序
- 求N个实数的最大值和最小值
- 给定一个整数sum, 从有N个有序元素的数组中寻找元素a,b,使得a+b的结果最接近sum
- 7z.exe 运行参数
- linux中添加用户 添加组
- 矩阵Matrix
- 在shell中利用 bc 实现小数或者整数的比较操作
- 黑马程序员--第七季DOM编程笔记
- 类似背包问题,在n个实数中找到和最接近sum的几个数
- 用C++实现自己的内存池
- 船舶设计Rhino插件(含C#源码)
- Android中SQLite应用详解
- 关于FFT快速傅里叶变换
- 随感
- linux批量添加用户
- Hibernate三种常用映射的优缺点
- 由MindManager命令构成的实用导图