def climb_stairs(n):
if n<=2: return n
a,b=1,2
for _ in range(3,n+1): a,b=b,a+b
return b
public int climbStairs(int n){
if(n<=2) return n;
int a=1,b=2;
for(int i=3;i<=n;i++){int t=a+b;a=b;b=t;}
return b;
}
Simultaneous assignment avoids temp. Java needs temp variable.
def climb_stairs(n):
if n<=2: return n
a,b=1,2
for _ in range(3,n+1): a,b=b,a+b
return b
public int climbStairs(int n){
if(n<=2) return n;
int a=1,b=2;
for(int i=3;i<=n;i++){int t=a+b;a=b;b=t;}
return b;
}
1. Base n<=2 2. Roll two variables