繁体   English   中英

在数组中添加n个整数以获得Java中的目标数字?

[英]Add n number of integers in array to get a target number in Java?

数组作为用户的输入。 该数组包含整数。 加一些,全部或仅一个就足够了,以使总和尽可能接近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
    }
}

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

有没有人对我有帮助?

根据我对您问题的解释,您最大的问题就在于算法。 您应该首先确定算法,然后再进行编码。 如果我想按照您的要求做,我会先对数组进行升序或降序排序。 有很多排序算法。 但是,我认为您正在查看的是子集和问题,可以通过递归二叉树遍历算法解决。 我不会给您代码,但是如果您有时间研究它,它将可以解决问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM