cari

Rumah  >  Soal Jawab  >  teks badan

Apakah maksud -1 dalam rekursi?

Dalam kod ini, saya cuba memahami konsep rekursi, tetapi saya benar-benar kehilangan maksud: sum(arr, n) = sum(arr, n - 1) + arr[n - 1];

Saya ada kod ini:

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

Saya cuba memahami ungkapan: sum(arr, n - 1) + arr[n - 1]; Adakah ini kesnya: Dalam sum(arr, n - 1), n ialah (indeks - 1) atau (n - 1) ialah panjang item tatasusunan yang akan ditambah. Selain itu, selepas melakukan ini, bagaimana pula dengan ungkapan kedua arr[n - 1]. Adakah [n-1] elemen tatasusunan?

Maaf jika ada yang bodoh atau menjengkelkan, tetapi jika sesiapa boleh membantu menunjukkan saya ke arah yang betul, saya amat berterima kasih.

P粉578343994P粉578343994453 hari yang lalu652

membalas semua(1)saya akan balas

  • P粉423694341

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

    Fungsi anda sum(arr,n) 可以描述为计算 arr[0]+...+arr[n-1].

    Ini bersamaan dengan arr[0]+...+arr[n-2]+arr[n-1]

    Ini bersamaan dengan sum(arr,n-1) + arr[n-1]

    Satu-satunya kes di mana peraturan ini tidak terpakai ialah apabila n<=0 , di mana jumlahnya ialah 0.

    balas
    0
  • Batalbalas