mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 00:43:04 +08:00
add js solution for maxProfit with Cooldown
This commit is contained in:
@ -207,7 +207,29 @@ class Solution:
|
|||||||
|
|
||||||
Go:
|
Go:
|
||||||
|
|
||||||
|
Javascript:
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
const maxProfit = (prices) => {
|
||||||
|
if(prices.length < 2) {
|
||||||
|
return 0
|
||||||
|
} else if(prices.length < 3) {
|
||||||
|
return Math.max(0, prices[1] - prices[0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
let dp = Array.from(Array(prices.length), () => Array(4).fill(0));
|
||||||
|
dp[0][0] = 0 - prices[0];
|
||||||
|
|
||||||
|
for(i = 1; i < prices.length; i++) {
|
||||||
|
dp[i][0] = Math.max(dp[i - 1][0], Math.max(dp[i-1][1], dp[i-1][3]) - prices[i]);
|
||||||
|
dp[i][1] = Math.max(dp[i -1][1], dp[i - 1][3]);
|
||||||
|
dp[i][2] = dp[i-1][0] + prices[i];
|
||||||
|
dp[i][3] = dp[i-1][2];
|
||||||
|
}
|
||||||
|
|
||||||
|
return Math.max(dp[prices.length - 1][1], dp[prices.length - 1][2], dp[prices.length - 1][3]);
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
-----------------------
|
-----------------------
|
||||||
|
Reference in New Issue
Block a user