用Java写段dp解决斐波那契问题的代码
时间: 2024-04-15 13:28:57 浏览: 20
下面是使用动态规划(DP)解决斐波那契问题的Java代码:
```java
public class Fibonacci {
public static int fibonacci(int n) {
if (n <= 1) {
return n;
}
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];
}
public static void main(String[] args) {
int n = 10;
int result = fibonacci(n);
System.out.println("The " + n + "th Fibonacci number is: " + result);
}
}
```
在这个代码中,我们定义了一个 `fibonacci` 方法,它接受一个整数 `n` 作为输入,并返回第 `n` 个斐波那契数。我们使用一个数组 `dp` 来存储计算过的斐波那契数,避免重复计算。通过迭代从2到n的循环,我们将前两个斐波那契数相加,得到当前位置的斐波那契数,并将其存储在 `dp` 数组中。最后,我们返回第 `n` 个斐波那契数。
在 `main` 方法中,我们调用 `fibonacci` 方法计算第10个斐波那契数,并将结果打印出来。你可以根据需要修改 `n` 的值来计算不同位置的斐波那契数。