题解 | #把数字翻译成字符串#

把数字翻译成字符串

http://www.nowcoder.com/practice/046a55e6cd274cffb88fc32dba695668

1,初始化第一个位置,为0和非0 2,判断当前位是非可以和前一位组合:在10-26 的可以组合

public:
    /**
     * 解码
     * @param nums string字符串 数字串
     * @return int整型
     */
    int solve(string a) {
        // write code here
        int dp[100000];
        if(a[0]!='0') dp[0]=1;
        else dp[0]=0;
        for(int i=1;i<a.size();i++){
            int pre=a[i-1]-'0';
            int now=a[i]-'0';
            int sum=pre*10+now;
            if(now!=0)    dp[i]=dp[i-1];
            if(sum>=10&&sum<=26){
                if(i==1) dp[i]+=1;
                else dp[i]+=dp[i-2];
            }
        }
        return dp[a.size()-1];
    }
};
全部评论

相关推荐

本科生是不是只能去送外卖了
有气魄的海豚在喝茶:外卖这个版本被保安克制
点赞 评论 收藏
分享
吴offer选手:学到了,下次面试也放张纸在电脑上,不然老是忘记要说哪几个点
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务