【问题标题】:Add n number of integers in array to get a target number in Java?在数组中添加 n 个整数以获得 Java 中的目标数?
【发布时间】:2016-04-26 15:56:26
【问题描述】:

一个数组作为用户的输入。该数组包含整数。添加一些、全部或仅添加一个就足够了,使总和尽可能接近 100。

  • 数组可以包含 1-100 个整数
  • 数组中的每个整数的值都在 1-100 之间,有些可能相同。数组中的随机顺序出现
  • 没有限制应该添加多少才能尽可能接近 100
  • 如果有几种组合是可能的或给出相同的答案同样接近 100,如 99 和 101,则应选择最高的。

我的问题是我真的不知道如何处理循环。我尝试过嵌套两个,但我发现不知道计算可能需要数组中有多少整数是很棘手的。

到目前为止,我的循环循环每个整数:

//looping over all integers in the array
for (int i = 0; i < myArray.length; i++) {
    //check already here if it is close to 100?
    //compare the integer above to the next
    for (int j = i + 1; nextWeight < myArray.length; j++) {
        //the results should be saved temporary to comparision to new sums
    }
}

我知道这并不多,而且我知道它可能以某种方式涉及动态编程。

有人有什么想法可以帮助我吗?

【问题讨论】:

标签: java arrays loops compare target


【解决方案1】:

根据我对您问题的解释,您最大的问题在于您的算法。你应该首先决定一个算法,然后去编码。如果我想做你要求的事情,我会先对数组进行排序,无论是升序还是降序。有很多排序算法。但是,我认为您正在查看的是一个子集和问题,可以通过递归二叉树遍历算法来解决。我不会给你代码,但如果你有时间研究它,它会成功的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多