算法-在一组数中,把相加之和最接近 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 块。
大神帮帮忙,我支持香港警察,你们可以帮我了。
1
smilzman 2019-08-20 09:35:34 +08:00 1
关键词:背包问题、贪心算法
|
2
arrow8899 2019-08-20 09:38:35 +08:00
楼上说得对,不过如果你数据量很小的话,暴力破解也行
|
3
mangoDB 2019-08-20 09:40:15 +08:00
为什么要发两个帖子?
|
7
todd7zhang 2019-08-20 09:55:21 +08:00
也可以是 ksum 的问题, 先排序, 再递归到 2Sum, 复杂度 O(n^(k-1)logn)
|
8
taogen 2019-08-20 11:03:47 +08:00 via Android
动态规划可以解决,类似 0/1 背包问题。
|
9
noqwerty 2019-08-20 11:24:35 +08:00 via Android
背包问题,以前帮老婆对账的时候写过......
https://leetcode.com/problems/coin-change-2/ |
10
jzmws 2019-08-20 13:27:39 +08:00
背包问题可以满足你
|