Rumah > Soal Jawab > teks badan
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粉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.