LeetCode LCP 19. 秋叶收藏集 (DP——一维状态机)

秋叶收藏集

//  设dp[i][0]表示第i位处理结束,且
// 当前整体处于第1段的最优解,同理dp[i][1]表示处于第2段的最优解,dp[i][2]表示处于第3段的最优解。
class Solution {
    
    
public:
    int minimumOperations(string leaves) {
    
    
        int n =  leaves.size();
        int dp[100100][3];
        memset(dp,0x3f,sizeof(dp));
        dp[0][0] = (leaves[0]!='r');
        for(int i=1;i<n;i++){
    
    
            dp[i][0] = dp[i-1][0]+(leaves[i]!='r');
            dp[i][1] = min(dp[i-1][0],dp[i-1][1])+(leaves[i]!='y');
            dp[i][2] = min(dp[i-1][1],dp[i-1][2])+(leaves[i]!='r');
        }
        return dp[n-1][2];
    }
};

猜你喜欢

转载自blog.csdn.net/qq_44846324/article/details/108906662