ভিডিওতে দেখো — YouTube @algonur_com
কোড
Python
def climbStairs(n: int) -> int:
if n <= 2:
return n
prev2, prev1 = 1, 2
for _ in range(3, n + 1):
prev2, prev1 = prev1, prev2 + prev1
return prev1Java
public int climbStairs(int n) {
if (n <= 2) return n;
int prev2 = 1, prev1 = 2;
for (int i = 3; i <= n; i++) {
int cur = prev1 + prev2;
prev2 = prev1;
prev1 = cur;
}
return prev1;
}Kotlin
fun climbStairs(n: Int): Int {
if (n <= 2) return n
var prev2 = 1; var prev1 = 2
for (i in 3..n) {
val cur = prev1 + prev2
prev2 = prev1; prev1 = cur
}
return prev1
}C++
int climbStairs(int n) {
if (n <= 2) return n;
int p2 = 1, p1 = 2;
for (int i = 3; i <= n; i++) {
int cur = p1 + p2;
p2 = p1; p1 = cur;
}
return p1;
}জটিলতা
O(n)
সময় — অ্যারেটা একবারই ঘুরি, ম্যাপে খোঁজা O(1)।
O(1)
জায়গা — সবচেয়ে খারাপ ক্ষেত্রে সব সংখ্যা ম্যাপে থাকে।
আগের সমস্যা← Cheapest Flights Within K Stopsপরের সমস্যাMin Cost Climbing Stairs →