Heim  >  Fragen und Antworten  >  Hauptteil

Was bedeutet -1 bei der Rekursion?

In diesem Code versuche ich das Konzept der Rekursion zu verstehen, aber ich verfehle völlig den Punkt: sum(arr, n) = sum(arr, n - 1) + arr[n - 1];

Ich habe diesen Code:

function sum(arr, n){

  if(n <= 0){
    return 0;

  } else {
    return sum(arr, n - 1) + arr[n - 1];
  }

}

console.log(sum([5, 4, 7, 9, 2, 6], 5);

Ich versuche den Ausdruck zu verstehen: sum(arr, n - 1) + arr[n - 1]; Ist dies der Fall: In sum(arr, n - 1) ist n (Index - 1) oder (n - 1) die Länge des hinzuzufügenden Array-Elements. Und wie sieht es danach mit dem zweiten Ausdruck arr[n - 1] aus? Ist [n-1] ein Array-Element? Da es sich in einem Array befindet, gibt es „[]“.

Es tut mir leid, wenn irgendetwas dumm oder nervig ist, aber wenn mir jemand helfen könnte, den richtigen Weg zu weisen, wäre ich sehr dankbar.

P粉578343994P粉578343994429 Tage vor638

Antworte allen(1)Ich werde antworten

  • P粉423694341

    P粉4236943412023-09-08 09:29:40

    你的函数 sum(arr,n) 可以描述为计算 arr[0]+...+arr[n-1]

    这等同于 arr[0]+...+arr[n-2]+arr[n-1]

    这等同于 sum(arr,n-1) + arr[n-1]

    唯一不适用这个规则的情况是当 n<=0 时,此时和为0。

    Antwort
    0
  • StornierenAntwort