【问题标题】:How to get elements from a list that sum up to a number如何从列表中获取总和为数字的元素
【发布时间】:2019-07-01 07:52:46
【问题描述】:

例如我有一个数组numbers = [2,3,5,1,1,2,1]sum needed = 5

我怎样才能得到满足总和 5 的最大元素数,例如 `[2,3] [5] [1,1,2,1]' 并且答案应该是我能得到的最后一个总共4个元素,在这种情况下是最大值

【问题讨论】:

  • 到目前为止你有什么尝试?
  • 请附上代码,然后社区应该会帮助你:)

标签: java arrays list


【解决方案1】:

“满足总和的最大元素数”表示您想要最小数字的总和(从示例中也很明显)。
那么如何对数组进行排序呢?那么这是一个简单的迭代来获得达到所需总和的 first 组合

【讨论】:

  • 虽然先排序是一种不错的方法,但请记住,获得第一个 组合 可能仍然不是很直接。例如,结果是第一个 prefix [1,1,1,2],在列表排序后很容易。但是假设输入是[3,1,5,2](排序后的[1,2,3,5]),目标总和仍然是5,那么我们必须跳过1才能得到[2,3]作为我们最长的组合。
猜你喜欢
  • 2021-11-20
  • 1970-01-01
  • 2013-04-02
  • 2022-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-16
  • 2015-03-01
相关资源
最近更新 更多