
算法-在一组数中,把相加之和最接近 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 关键词:背包问题、贪心算法 |
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 背包问题可以满足你 |