Leetcode 903

Leetcode 903

题目大意: 求符合DI字符串的序列的个数

代码:
class Solution {
public:
    int numPermsDISequence(string S) {
        int res =0, n = S.size(),M=1e9+7;
        vector<vector<int>> dp(n+1,vector<int>(n+1));
        dp[0][0] = 1;
        for(int i=1;i<=n;i++){
            for(int j=0;j<=i;j++){
                if(S[i-1]=='D'){
                    for(int k=j;k<=i-1;k++){
                        dp[i][j] = dp[i][j] + dp[i-1][k];
                        dp[i][j] %= M;
                    }
                }else{
                    for(int k =0;k<=j-1;k++ ){
                        dp[i][j] = dp[i][j] + dp[i-1][k];
                        dp[i][j] %=M;
                    }
                }
            }
        }
        for(int i=0;i<=n;i++){
            res = res + dp[n][i];
            res%=M;
        }
        return res;
    }
};
全部评论

相关推荐

政委qqq:这道题在算法竞赛里唯一考的就是高精度,但是只能难住C++这类语言,Python直接a+b秒天秒地
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
03-20 22:18
FightingNa...:小厂不喜欢离毕业还远的。培养你三个月小半年,你又回去上学,你丰富简历爽歪歪,小厂啥也得不到。大厂兴许愿意培养你,可以试试大厂,准备下不黑了就行。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务