CCCPaste
public static int fib(int n, ArrayList arr){
	if(arr.size() > n){
        return arr.get(n);
    }
    if(n == 0){
    	return 0;
    }
    if(n == 1){
    	return 1;
    }
    int n2 = fib(n-2, arr);
    arr[n-2] = n2;
    int n1 = fib(n-1,arr);
    return n1+n2;
}