피보나치 수열
재귀(recursive)와 DP의 대표적인 문제
피보나치 수열
// top-down
public static int top_down(int N) {
if (N == 1 || N == 2) return 1;
return top_down(N - 1) + top_down(N - 2);
}// top-down : memoization
public static int top_down_memoization(int N) {
if (dp[N] > 0) return dp[N];
if (N == 1 || N == 2) return dp[N] = 1;
return dp[N] = top_down_memoization(N - 2) + top_down_memoization(N - 1);
}Last updated