首页 > 试题广场 >

解码

[编程题]解码
  • 热度指数:4253 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解

有一种将字母编码成数字的方式:'a'->1, 'b->2', ... , 'z->26'。

现在给一串数字,给出有多少种可能的译码结果。




输入描述:
编码后数字串


输出描述:
可能的译码结果数
示例1

输入

12

输出

2

说明

2种可能的译码结果(”ab” 或”l”)
示例2

输入

31717126241541717

输出

192

说明

192种可能的译码结果
头像 遍地狼烟
发表于 2021-09-22 17:56:17
整体思路:建立一个一维数组arr[len],用来记录每一个位置当前有多少种译码结果。主要判断有0的情况:1.连续俩个零代表译码有误,输出零 2.如果第一个位置就是'0',输出零 3.当前位置为'0',前一个位置不是'1'或'0',输 展开全文
头像 bandiaoz
发表于 2024-12-18 16:55:11
解题思路 这是一道字符串解码题,关键点是: 字母到数字的映射规则:'a'->1, 'b'->2, ..., 'z'->26 一个数字可能有多种解码方式,比如"12"可以解码为"ab"或"l" 需要考虑数字的组合是否有效( 展开全文