LeetCode 122

class Solution {
public:
    int maxProfit(vector<int>& prices) {
        const int N=3e4+10;
        int dp[N][2];
        dp[0][0]=0;
        dp[0][1]=-0x3f3f3f3f;
        //前0天不可能有股票
        int n=prices.size();
        for(int i=1;i<=n;i++)
        {
            dp[i][0]=max(dp[i-1][0],dp[i-1][1]+prices[i-1]);
            dp[i][1]=max(dp[i-1][1],dp[i-1][0]-prices[i-1]);
        }
        return max(dp[n][0],dp[n][1]);
    }
};

你可能感兴趣的:(leetcode,算法)