算法-在一组数中,把相加之和最接近 100 的几个数,提取出来。

2019-08-20 09:25:33 +08:00
 burnbrid

算法-在一组数中,把相加之和最接近 100 的几个数,提取出来。 举个例子:

1 3 90 2 8 96 在这组数中应该把 96 和 3 这个俩个数提取出来,也可以把 90 8 1 这个三个数提取出来。

1 2 3 8 96 99 在这组数中应该把 99 这一个数提取出来,也可以把 96 3 这个三个数提取出来,也可以把 96 1 2 这个三个数提取出来。

可以提取多个数字,也可以提取一个数字。其实我的目的就是从一个池子里面抓钱,要尽可能的多抓钱。但是,抓的钱最多不能超过或等于 100 块。

大神帮帮忙,我支持香港警察,你们可以帮我了。

3051 次点击
所在节点    程序员
11 条回复
smilzman
2019-08-20 09:35:34 +08:00
关键词:背包问题、贪心算法
arrow8899
2019-08-20 09:38:35 +08:00
楼上说得对,不过如果你数据量很小的话,暴力破解也行
mangoDB
2019-08-20 09:40:15 +08:00
为什么要发两个帖子?
burnbrid
2019-08-20 09:41:47 +08:00
@mangoDB 着急解决,感觉算法板块的人没程序员版本的人多,所以在程序员板块下又发了一次。
burnbrid
2019-08-20 09:42:06 +08:00
@smilzman 谢谢,我 Google 一下。
deleteDB
2019-08-20 09:52:17 +08:00
@mangoDB 名字好像啊 还以为是我自己回复的
todd7zhang
2019-08-20 09:55:21 +08:00
也可以是 ksum 的问题, 先排序, 再递归到 2Sum, 复杂度 O(n^(k-1)logn)
taogen
2019-08-20 11:03:47 +08:00
动态规划可以解决,类似 0/1 背包问题。
noqwerty
2019-08-20 11:24:35 +08:00
背包问题,以前帮老婆对账的时候写过......
https://leetcode.com/problems/coin-change-2/
jzmws
2019-08-20 13:27:39 +08:00
背包问题可以满足你
burnbrid
2019-08-20 14:52:53 +08:00
@noqwerty 哪个是你的代码? ID 是 麟渊 吗?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/593376

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX