N个正数选取若干个数之和最接近M

原创 2015年07月07日 09:49:44

问题描述:给定N个正数(A1,、A2、A3、...、AN),从中选取若干(k)个数,使得这些数之和最接近M。

算法分析:最接近可能有两种情况,一种是k个数之和小于M,另一种是k个数之和大于M,所以问题可看成两个01背包问题(背包容量分别为M和A1+A2+A3+...+AN-M),较大的为结果。

面试题:从给定的N个正数中选取若干个数之和最接近M

这道题跟捞鱼问题一样,都是刚进实验室新生培训那会儿做过的题目,不过这个是一师姐当时找工作的面试题。 如题,并输出该子序列 测试用例:2,9,5,7,4,11,10 分别输出最接近33、40、47...
  • u010064842
  • u010064842
  • 2013年09月13日 20:45
  • 1823

给定一整数在有序的整数数组中找出与给定值最接近的k个整数

思路:首先找出给定值在给定数组中的插入位置(不是真的将给定值插入给定数组),然后以此位置为基准,向左或向右依次找出最接近的k个整数。 难点:个人在处理过程中的难点在于向左或向右移动过程中的确切位置的...
  • cr2066
  • cr2066
  • 2016年08月13日 12:41
  • 974

从给定的N个正数中选取若干个数之和最接近M

解法:转换成01背包问题求解,从正整数中选取若干个数放在容量为M的背包中。 可以用01背包的一维数组进行求解。 程序代码: #include const int MAX=100; int f[MAX...
  • u014082714
  • u014082714
  • 2015年01月25日 10:52
  • 1750

任意2n个整数,从其中选出n个整数,使得选出的n个整数和同剩下的n个整数之和的差最小。

编程之美上的题,《数组分割》: 假设数组A[1..2N]所有元素的和是SUM。 模仿动态规划解0-1背包问题的策略,令S(k, i)表示前k个元素中任意i个元素的和的集合。 ...
  • huakaiba
  • huakaiba
  • 2015年08月19日 15:14
  • 1374

搜狗笔试:N个正实数选出若干个之和最接近M

搜狗:有N个正实数(注意是实数,大小升序排列) x1 , x2 ... xN,另有一个实数M。 需要选出若干个x,使这几个x的和与 M 最接近。 请描述实现算法,并指出算法复杂度。 思路:对于每一个...
  • magic_wz
  • magic_wz
  • 2012年10月11日 13:51
  • 3481

从给定的N个正数中选取若干个数之和为M

#include #include using namespace std; void find_seq(int sum, int index, int * value, listint> & ...
  • u014082714
  • u014082714
  • 2015年02月01日 13:21
  • 804

【其他】【RQNOJ】数字组合

题目描述在N个数中找出其和为M的若干个数。先读入正整数N(1
  • liveas
  • liveas
  • 2010年07月14日 11:13
  • 908

给定n个数{1,2,…n},从中选取任意两两不同的k个数,请编写程序输出所有的可能的选择,要求不重不漏。

给定n个数{1,2,…n},从中选取任意两两不同的k个数,请编写程序输出所有的可能的选择,要求不重不漏。...
  • new_light
  • new_light
  • 2014年08月08日 11:14
  • 1899

【HDU 1171】【背包DP 或者 母函数】Big Event in HDU【有n样物品,每样物品价值是v,件数是m。尽量把这些物品分成两堆使得两边总价值最接近】

传送门:http://acm.split.hdu.edu.cn/showproblem.php?pid=1171 描述: Big Event in HDU Time Limit: 10000/50...
  • guhaiteng
  • guhaiteng
  • 2016年10月23日 23:26
  • 213

m个数随机取n个数的java实现

//借用他人的C语言版本改成java版本 同时懒懒地增加了顺序输出结果    static int total = 0;    static void cur(int k, int m, in...
  • denygod
  • denygod
  • 2016年04月14日 11:25
  • 987
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:N个正数选取若干个数之和最接近M
举报原因:
原因补充:

(最多只允许输入30个字)