/** * 由底向上,动态推到 * 数组保存状态值 * * @param n * @return */ public static int Fibonacci(int n) { if (n == 0) { return 0; } int[] dp = new int[n + 1]; dp[0] = 0; dp[1] = 1; for (int i = 2; i <= n; i++) { dp[i] = dp[i - 1] + dp[i - 2]; } return dp[n]; }
/** * 由底向上,动态推到 * 数组保存状态值 * * @param n * @return */ public static int Fibonacci(int n) { if (n == 0) { return 0; } int[] dp = new int[n + 1]; dp[0] = 0; dp[1] = 1; for (int i = 2; i <= n; i++) { dp[i] = dp[i - 1] + dp[i - 2]; } return dp[n]; }