首页 > 试题广场 >

解码方法

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

一条包含字母 A-Z 的消息通过以下方式进行了编码:

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

给定一个只包含数字的非空字符串,请计算解码方法的总数。


输入描述:
一串编码过的数字,比如12


输出描述:
解码方法的总数
示例1

输入

12

输出

2

说明

12可以解码成“AB”,“A,B"这两种
头像 牛客题解官
发表于 2020-06-05 11:07:43
精华题解 题目难度:二星 考察点:动态规划 方法:动态规划 1.分析: 这是一道比较典型的动态规划问题,我们设dp[n]表示字符串前n个数字所有的解码方案,那么其实一共有26个英文字母,即对应着1-26这么多数字,而1-9是一位的,10-26是两位的,那么就存在如下两种情况 展开全文
头像 白伟仝
发表于 2020-05-11 18:35:44
import java.util.*; public class Main{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); Map<String 展开全文
头像 cchangcs
发表于 2019-07-26 11:43:37
完整代码 s = input() n = len(s) x_1 = 1 for i in range(n):   if i == 0:     x_2 = 1   else:     if int(s[i - 1: i + 1]) &l 展开全文
头像 codewind
发表于 2020-05-27 12:55:47
import java.util.Arrays; import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner sc = new Scanner( 展开全文