Was bedeutet -1 bei der Rekursion?
P粉578343994
P粉578343994 2023-09-07 10:10:20
0
1
659

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粉578343994
P粉578343994

Antworte allen(1)
P粉423694341

你的函数 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。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage