I was recently asked to generate Fibonacci numbers based on a given index in an interview and wasn't able to come up with the answer off the cuff.
Using Recursion
public int fib( int n ) { if ( n < 2 ) return n; return fib( n - 1 ) + fib( n - 2 ); }
Using Iteration
public int fib( int n ) { int prev1 = 0; int prev2 = 1; int savePrev1;
for( int i = 0; i < n; i++ ) { savePrev1 = prev1; prev1 = prev2; prev2 = savePrev1 + prev2; } return prev1; }
|