当前位置:网站首页>leetcode:639. 解码方法 II
leetcode:639. 解码方法 II
2022-08-02 08:49:00 【OceanStar的学习笔记】
题目来源
题目描述



class Solution {
public:
int numDecodings(string s) {
}
};
题目解析
class Solution {
int process(string str, int i){
if(i == str.size()){
return 1;
}
if(str[i] == '0'){
return 0;
}
// str[index]有字符且不是'0'
if(str[i] != '*'){
// str[index] = 1~9
int p1 = process(str, i + 1);
if(i + 1 == str.size()){
return p1;
}
if(str[i + 1] != '*'){
int num = (str[i] - '0') * 10 + str[i + 1] - '0';
int p2 = 0;
if(num < 27){
p2 = process(str, i + 2);
}
return p1 + p2;
}
// str[i+1] == '*'
// i i+1 -> 一起转 1* 2* 3* ...9*
int p2 = 0;
if(str[i] < '3'){
p2 = process(str, i + 2) * (str[i] == '1' ? 9 : 6);
}
return p1 + p2;
}
// str[i] == '*' 1~9
int p1 = 9 * process(str, i + 1); // i 单转 9种
if(i + 1 == str.size()){
return p1;
}
if(str[i + 1] != '*'){
// * 0 10 20
// * 1 11 21
// * 2 12 22
// * 3 13 23
// * 6 16 26
// * 7 17
// * 8 18
// * 9 19
int p2 = (str[i + 1] < '7' ? 2 : 1) * process(str, i + 2);
return p1 + p2;
}else{
// **
// 11~19 9
// 21 ~26 6
// 15
int p2 = 15 * process(str, i + 2);
return p1 + p2;
}
}
public:
int numDecodings(string s) {
return process(s, 0);
}
};
边栏推荐
猜你喜欢

spark:热门品类中每个品类活跃的SessionID统计TOP10(案例)

【打新必读】麦澜德估值分析,骨盆及产后康复电刺激产品

Redisson的看门狗机制

你有了解过这些架构设计,架构知识体系吗?(架构书籍推荐)

腾讯T8架构师,教你学中小研发团队架构实践PDF,高级架构师捷径

Jenkins--部署--3.1--代码提交自动触发jenkins--方式1

【电子电路】长按键拉低电平,适用在有休眠机制的MCU但是没有看门狗,一个按键多个功能场景下使用

EPSANet: An Efficient Pyramid Split Attention Block on Convolutional Neural Network

Postman download localization of installation and use

Docker内MySQL主从复制学习,以及遇到的一些问题
随机推荐
UVM信息服务机制
【电子电路】长按键拉低电平,适用在有休眠机制的MCU但是没有看门狗,一个按键多个功能场景下使用
spark:商品热门品类TOP10统计(案例)
大厂外包,值得拥有吗?
你有了解过这些架构设计,架构知识体系吗?(架构书籍推荐)
测试时大量TIME_WAIT
了解下C# 不安全代码
tf中tensor的大小输出
不用Swagger,那我用啥?
膜拜,Alibaba分布式系统开发与核心原理解析手册
Jenkins--基础--6.3--Pipeline--语法--脚本式
Jenkins--基础--07--Blue Ocean
OneNote Tutorial, How to Create More Spaces in OneNote?
Bigder:41/100生产bug有哪些分类
PyQt5(一) PyQt5安装及配置,从文件夹读取图片并显示,模拟生成素描图像
etcd implements large-scale service governance application combat
oracle的sql改成mysql版本
普林斯顿微积分读本03第二章--编程实现函数图像绘制、三角学回顾
unity pdg 设置隐藏不需要的节点以及实现自动勾选自动加载项
Redis分布式锁入门