Untitled

mail@pastecode.io avatar
unknown
c_cpp
a year ago
960 B
4
Indexable
Never
int climbStairs(int n) {
    int dp_a = 0;
    int dp_b = 1;

    for(int i = 0; i < n; i++){
        int temp = dp_a;
        dp_a = dp_b;
        dp_b += temp;
    }

    return dp_b;
}

/*
Metode menginisialisasi dua variabel, a dan b, untuk melacak jumlah cara yang berbeda untuk mencapai langkah saat ini dan langkah selanjutnya. Awalnya, a diset ke 0 dan b diset ke 1.
Menggunakan perulangan for, kode diulang sebanyak n kali, mewakili setiap langkah dalam tangga.
Dalam setiap iterasi, kode memperbarui a dan b dengan menukar nilainya dan menugaskan a + b ke b. Langkah ini secara efektif menghitung jumlah cara berbeda untuk mencapai langkah saat ini (a) dan memperbarui jumlah cara berbeda untuk mencapai langkah (b) berikutnya berdasarkan hitungan langkah sebelumnya.
Setelah loop selesai dieksekusi sebanyak n kali, metode mengembalikan nilai b, yang menyatakan jumlah cara berbeda untuk mencapai puncak tangga dengan n langkah.
*/