首頁  >  問答  >  主體

遞歸中的-1所代表的意義是什麼?

在這段程式碼中,我試著去理解遞歸的概念,但我完全錯過了這一點:sum(arr, n) = sum(arr, n - 1) arr[n - 1];

我有這段程式碼:

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);

我試著去理解表達式:sum(arr, n - 1) arr[n - 1]; 是這樣的嗎:在sum(arr, n - 1)中,n是(index - 1)還是(n - 1)是要加的陣列項目的長度。此外,在完成這個操作之後,第二個表達式arr[n - 1]怎麼樣。 [n- 1]是數組元素嗎,因為它在一個數組中,所以有"[]"。

如果有什麼愚蠢或煩人的地方,請原諒,但是如果有人能幫忙指點我正確的方向,我將非常感激。

P粉578343994P粉578343994378 天前570

全部回覆(1)我來回復

  • 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。

    回覆
    0
  • 取消回覆