js算法:筛选一个数组不限定某几个值之和最近接一个值

let arr=[43,52,1,45,76,87,3,34,64,...]
选出这里边不限制个数的几个值之和最近接比如 302这个值。不能超过,只能小于等于。

求助这个怎么实现,最后打印出筛选的值 以及 和

阅读 3.1k
2 个回答

https://zh.jinzhao.wiki/wiki/...
子集和問題(英語:Subset sum problem),又称子集合加總問題,是計算複雜度理論密碼學中一個很重要的問題。问题可以描述为:給一個整數集合,問是否存在某個非空子集,使得子集内中的數字和為某个特定数值。例:給定集合{−7, −3, −2, 5, 8},是否存在子集和为0的集合?答案是YES,因為子集{−3, −2, 5}的數字和是0。這個問題是NP完全问题,且或許是最容易描述的NP完全問題。

题目是求小于等于目标值,在子集和问题的解法上做些改动即可,子集和问题几种解法供参考:
https://blog.csdn.net/qq_3645...
https://www.cnblogs.com/AKMer...

这个就经典的背包问题,回溯法。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题