def fib(n):
if n<=1: return n
a,b=0,1
for _ in range(2,n+1): a,b=b,a+b
return b
public int fib(int n){
if(n<=1) return n;
int a=0,b=1;
for(int i=2;i<=n;i++){int t=a+b;a=b;b=t;}
return b;
}
Simultaneous assignment vs temp variable.
def fib(n):
if n<=1: return n
a,b=0,1
for _ in range(2,n+1): a,b=b,a+b
return b
public int fib(int n){
if(n<=1) return n;
int a=0,b=1;
for(int i=2;i<=n;i++){int t=a+b;a=b;b=t;}
return b;
}
1. Base cases 2. Roll two variables