2

我正在尝试添加数组的元素,直到它达到给定值 x ,当达到该值时,tit 应该返回该数组的适当索引

ArrayIndex|Value|运行总计
-------------------------------------------
   0 | 6 | 6
   1 | 1 | 7
   2 | 6 | 13
   3 | 2 | 15

如果给定值 x 是 14,它应该返回索引 3,或者如果给定值是 8,它应该返回 2,我该怎么做?有什么我可以使用的算法吗?

int given_number = 7;
int running_total =0;
for(int x=0;x<array.length;x++)
{
     running_total+=array[x];
     if(given_number>=running_total)
     {
          //only allow once 
          setThredhold(x);//calling a mehod



     }
4

2 回答 2

1

您可以为此创建一个自定义方法:

int findIndex(int[] array, int given_number) {
    int running_total = 0;
    for(int x=0; x < array.length; x++) {
       running_total += array[x];
       if(given_number >= running_total)
          return x;
     }
     return -1; // empty array or given_number is too big
}
于 2013-08-26T16:18:30.277 回答
0

这非常简单直接

    int given_number = 7;
    int running_total = 0;
    int array[] = new int[23];
    for (int i = 0; i < array.length; i++) {
        if (running_total >= given_number) {
            break;
        } else {
            running_total += array[i];
        }
    }
}
于 2013-08-26T16:14:37.143 回答