写一个JAVA的动态规划示例
时间: 2023-06-02 18:01:59 浏览: 92
以下是一个Java动态规划的示例,用于计算斐波那契数列的第n项:
public class FibonacciDP {
public static int fibonacci(int n) {
// 建立一个数组用于存储已经计算过的结果
int[] memo = new int[n + 1];
// 初始化斐波那契数列的前两项
memo[0] = 0;
memo[1] = 1;
// 从第三项开始计算
for (int i = 2; i <= n; i++) {
// 根据斐波那契数列的递推公式计算当前项的值
memo[i] = memo[i-1] + memo[i-2];
}
// 返回第n项的值
return memo[n];
}
public static void main(String[] args) {
int n = 10;
System.out.println("斐波那契数列的第" + n + "项是 " + fibonacci(n));
}
}
在本例中,我们使用一个数组memo来存储已经计算过的结果,这样就可以避免重复计算相同的项。我们首先初始化memo数组的前两项为0和1,然后使用for循环从第三项开始计算,直到第n项为止。在每一次计算中,我们都根据斐波那契数列的递推公式计算当前项的值,并将其存储在memo数组中。最后,我们返回第n项的值,完成计算。
阅读全文