提供JAVA的2*2數組版本

原本的空間優化是直接優化成一維數組,故提供一個2*2數組的版本
This commit is contained in:
Terry Liu
2023-06-06 19:09:57 -04:00
committed by GitHub
parent 46a81f2073
commit 4fab08d030

View File

@ -243,8 +243,27 @@ class Solution {
}
}
```
> 动态规划:版本二(使用二維數組(和卡哥思路一致),下面還有使用一維滾動數組的更優化版本)
> 动态规划:版本二
```Java
class Solution {
public int maxProfit(int[] prices) {
int len = prices.length;
int dp[][] = new int[2][2];
dp[0][0] = - prices[0];
dp[0][1] = 0;
for (int i = 1; i < len; i++){
dp[i % 2][0] = Math.max(dp[(i - 1) % 2][0], - prices[i]);
dp[i % 2][1] = Math.max(dp[(i - 1) % 2][1], prices[i] + dp[(i - 1) % 2][0]);
}
return dp[(len - 1) % 2][1];
}
}
```
> 动态规划:版本二(使用一維數組)
``` java
class Solution {
@ -271,6 +290,10 @@ class Solution {
}
}
```
```Java
```
Python: