주어진 값에 도달 할 때까지 배열 요소를 추가하려고합니다. x 값이 도달하면 tit가 적절한 인덱스를 반환해야합니다. 소정 값 (x)가 14이면 해당 배열값에 도달 할 때까지 값에 도달 할 때까지 배열 요소를 추가합니다. 인덱스를 찾으십시오.
ArrayIndex|Value|Running total ------------------------------- 0 | 6 | 6 1 | 1 | 7 2 | 6 | 13 3 | 2 | 15
의 그 인덱스 3을 돌려, 또는 주어진 값은 2 돌려 8 인 경우, 그것을 어떻게할까요? 내가 사용할 수있는 알고리즘이 있습니까?
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
}
을'[X]'횡설수설이다, x' 반환'시도를 돌려주는 . 그렇지 않으면 코드가 분명히 최상의 알고리즘입니다. 선형 시간과 일정한 공간, 나는 누군가가 더 잘할 수있는 방법을 보지 못합니다. –
return [x] 컴파일되지 않습니다. 이 줄을 다시 생각해보아야합니다 : if (givenNumber> = runningTotal) {무슨 일이 일어나고 실제로 무엇을 검사하고 있습니까? –
또한 올바른 "return x;" 줄 바꿈;" 도달 할 수없는 코드이고 컴파일 오류가 발생합니다. – Cruncher