← Math

Fibonacci Number

Easy
Python
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
Java
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;
}

Key Insight

Simultaneous assignment vs temp variable.

Python → Java Differences

  • Simultaneous swap vs temp
  • _ for unused var
  • Fibonacci identical
Python
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
Java
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;
}

Algorithm Steps

1. Base cases
2. Roll two variables