LintCode: 解码方法

原创 2017年01月04日 00:06:31

有一个消息包含A-Z通过以下规则编码

'A' -> 1
'B' -> 2
...
'Z' -> 26

现在给你一个加密过后的消息,问有几种解码的方式

样例

给你的消息为12,有两种方式解码 AB(12) 或者 L(12). 所以返回 2


class Solution {
public:
    /**
     * @param s a string,  encoded message
     * @return an integer, the number of ways decoding
     */
     
    int numDecodings(string& s) {
        // Write your code here
        int size = s.size();
        if(size == 0)
           return 0;
           
        int *dp = new int[size];
        dp[0] = 1*(s[0]!='0');
        if(size >= 2)
        {
            string t = s.substr(0,2);
            int n = atoi(t.c_str());
            dp[1] = dp[0]*(s[1]!='0') +  (n>0 && n<=26);
            
            for(int i=2; i<size; i++)
           {
               string t = s.substr(i-1,2);
               int n = atoi(t.c_str());
               dp[i] = dp[i-1]*(s[i]!='0') + (n>=10 && n<=26)*dp[i-2];
           }
        }
        return dp[size-1];
    }
};

【LintCode】Backpack 背包问题

在n个物品中挑选若干物品装入背包,最多能装多满?假设背包的大小为m,每个物品的大小为A[i]。样例 如果有4个物品[2, 3, 5, 7] 如果背包的大小为11,可以选择[2, 3, 5]装入背包...
  • wutingyehe
  • wutingyehe
  • 2015年07月16日 12:52
  • 2156

LintCode数据结构题总结

Lintcode数据结构有这么一些题目: 495. Implement Stack 用任意的数据结构实现一个栈,我是用List实现的,记得写的时候写成List array = new Ar...
  • luoshengkim
  • luoshengkim
  • 2016年06月10日 22:46
  • 1551

x的平方根(LintCode)

题目来源:LintCode 原题地址:http://www.lintcode.com/zh-cn/problem/sqrtx/ 题目: 实现 int sqrt(int x...
  • lyy_hit
  • lyy_hit
  • 2015年11月11日 19:47
  • 1242

LintCode 最大子数组(3种方法)

给定一个整数数组,找到一个具有最大和的子数组,返回其最大和。 样例 给出数组[−2,2,−3,4,−1,2,1,−5,3],符合要求的子数组为[4,−1,2,1],其最大和为6 ...
  • sinat_30440627
  • sinat_30440627
  • 2017年02月08日 16:22
  • 1420

LintCode 374 螺旋矩阵的解决方法

最近在开心刷LintCode,其实我觉得刷题的目的就是锻炼你的解决问题的能力,不同的思想会带来不同的解决方案,找到最好的那个就是程序员的工作。但在找到最好的之前,你至少需要一点思想。 题目梗概给定一个...
  • mianshui1105
  • mianshui1105
  • 2016年08月17日 16:19
  • 335

【H.264/AVC视频编解码技术详解】八、 熵编码算法(2):H.264中的熵编码基本方法、指数哥伦布编码

《H.264/AVC视频编解码技术详解》视频教程已经在“CSDN学院”上线,视频中详述了H.264的背景、标准协议和实现,并通过一个实战工程的形式对H.264的标准进行解析和实现,欢迎观看!“纸上得来...
  • shaqoneal
  • shaqoneal
  • 2016年09月09日 23:03
  • 2079

【H.264/AVC视频编解码技术详解】十七:帧内预测编码的预测实现方法

《H.264/AVC视频编解码技术详解》视频教程已经在“CSDN学院”上线,视频中详述了H.264的背景、标准协议和实现,并通过一个实战工程的形式对H.264的标准进行解析和实现,欢迎观看!“纸上得来...
  • shaqoneal
  • shaqoneal
  • 2017年12月16日 15:24
  • 199

[总结]视音频编解码技术零基础学习方法

一直想把视音频编解码技术做一个简单的总结,可是苦于时间不充裕,一直没能完成。今天有着很大的空闲,终于可以总结一个有关视音频技术的入门教程,可以方便更多的人学习从零开始学习视音频技术。需要注意的是,本文...
  • lbaihao
  • lbaihao
  • 2016年08月05日 20:09
  • 705

[总结]视音频编解码技术零基础学习方法

此篇转自http://blog.csdn.net/leixiaohua1020/article/details/18893769 天妒英才,希望一路走好! --------------------...
  • bang987918
  • bang987918
  • 2016年08月09日 15:41
  • 438

FFMPEG视音频编解码零基础学习方法

原文作者:有不少人不清楚“FFmpeg”应该怎么读。它读作“ef ef em peg”。在CSDN上的这一段日子,接触到了很多同行业的人,尤其是使用FFMPEG进行视音频编解码的人,有的已经是有多年经...
  • boonya
  • boonya
  • 2018年01月05日 10:51
  • 59
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:LintCode: 解码方法
举报原因:
原因补充:

(最多只允许输入30个字)