"计算吃完 n 个橘子的最少天数:Java实现"
解析:这是一个动态规划问题,我们可以使用一个数组dp来存储到第i天为止吃掉所有橘子的最少天数。状态转移方程为:dp[i] = min(dp[i], dp[j] + 1),其中j表示前一天选择方案2的情况。
代码如下:
```java
public int minDays(int n) {
int[] dp = new int[n + 1];
dp[1] = 1;
for (int i = 2; i <= n; i++) {
if (i % 2 == 0) {
dp[i] = Math.min(dp[i], dp[i / 2] + 1);
}
if (i % 3 == 0) {
dp[i] = Math.min(dp[i], dp[i / 3 * 2] + 1);
}
}
return dp[n];
}
```
免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。