我正在尝试添加数组的元素,直到达到给定值x,当达到该值时,tit应该返回该数组的相应索引
ArrayIndex|Value|Running total ------------------------------- 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
}
答案 0 :(得分: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
}
答案 1 :(得分: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];
}
}
}