Leetcode 91. Decode Ways

Leetcode 91. Decode Ways-解析数字字符串,1表示A,2表示B,3表示C..26表示Z,能解析出多少种?输入一串数字转成A-Z字母串有多少种方法?-动态规划 Leetcode 91. Decode Ways-解析数字字符串,1表示A,2表示B,3表示C..26表示Z,能解析出多少种?输入一串数字转成A-Z字母串有多少种方法? 阅读详情

Leetcode 91. Decode Ways

source url

题目描述

A message containing letters from A-Z is being encoded to numbers using the following mapping:

‘A’ -> 1
‘B’ -> 2
…
‘Z’ -> 26

Given an encoded message containing digits, determine the total number of ways to decode it.
For example,
Given encoded message “12”, it could be decoded as “AB” (1 2) or “L” (12).
The number of ways decoding “12” is 2.

输入:数组字符串s
输出:可能的字母组成个数

思路

动态规划:用f[i]表示到第i个字符时的总共可能组成个数,类似于爬楼梯,当前的位置可能是前1格过来的,也可能是前2格过来的。另外,需要一些判断语句处理临界条件。
状态转移方程:

f[i]=⎧⎩⎨⎪⎪f[i−2]f[i−1]f[i−1]+f[i−2] if s[i]=0,0<s[i−1]<3 if s[i]≠0,26<s[i−1,i] if s[i]≠0,0<s[i−1,i]≤26

那么f[n]就是答案,复杂度 O(n)

代码

class Solution {
public:
    int numDecodings(string s) {
        if(s.length()==0) return 0;
        if(s[0]=='0') return 0;
        int f[s.length()] = {0};
        f[0]=1;
        for(int i = 1;i<s.length();i++){
            if(s[i]=='0'){
                if((s[i-1]=='1'||s[i-1]=='2')){
                    if(i>=2)
                        f[i] = f[i-2];
                    else
                        f[i] = 1;
                }else
                    return 0;
            }else{
                if(s.substr(i-1,2)<="26"&&s[i-1]!='0'){
                    if(i>=2)
                        f[i] = f[i-1] + f[i-2];
                    else
                        f[i] = f[i-1] + 1;
                }else
                    f[i] = f[i-1];
            }
        }

        return f[s.length()-1];
    }
};
基于结构的虚拟筛选模型 gnina 从源码编译 所需要的软件安装包: 安装 CUDA 装的时候看着点,第二个要你装驱动的选择,回答N,不装。 sudo sh cuda_10.0.130_410.48_linux.run sudo vim ~/.bashrc 在 ~/.bashrc 文件最后加上 export PATH=/usr/bin:/usr/local/cuda-10.0/bin${PATH} export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:${LD_LIBRARY_PATH} source ~ 阅读详情

相关推荐

GB28181安防平台未授权访问漏洞:原理、复现与修复指南

未授权访问漏洞是Web安全中常见的访问控制缺陷,其本质在于应用在提供对敏感功能或数据的访问前,未能对请求者的身份和权限进行充分验证。从技术原理上看,这类漏洞常源于拦截器配置错误、安全注解遗漏或自定义校验逻辑缺陷,导致本应受保护的API接口被意外暴露。在工程实践中,此类漏洞危害巨大,攻击者无需登录即可直接访问系统核心接口,可能引发敏感信息泄露、权限提升甚至系统接管。尤其在安防监控、物联网管理平台等场景中,一旦涉及用户管理接口(如`/api/user/**`),风险会急剧放大。本文以GB28181视频监控管理平

weixin_30271335的博客 441

Leetcode91.Decode Ways解码方法

一条包含字母A-Z的消息通过以下方式进行了编码: 'A' -> 1 'B' -> 2 ... 'Z' -> 26 给定一个只包含数字的非空字符串,请计算解码方法的总数。 示例 1: 输入: "12" 输出: 2 解释:它可以解码为 "AB"(1 2)或者 "L"(12)。 示例2: 输入: "226" 输出: 3 解...

Ha12312的博客 265

深信服桌面云实战:从零部署到高效运维的配置全景指南

本文详细介绍了深信服桌面云从零部署到高效运维的全流程配置指南,涵盖硬件规划、平台部署、虚拟桌面发布、终端管理及性能优化等关键环节。特别强调了双万兆网络架构、分布式存储配置和智能调度功能的应用,帮助用户实现高性能、高可用的虚拟桌面环境。

weixin_28568819的博客 404

leetcode 91. Decode Ways

leetcode 91. Decode Ways A message containing letters fromA-Zis being encoded to numbers using the following mapping: 'A' -> 1 'B' -> 2 ... 'Z' -> 26 Given an encoded message contai...

weixin_30508241的博客 205

CoMP 协同多点传输技术

CoMP CoMP是什么 解决什么问题 有什么缺点 CoMP(Coordinated Multiple Points)协同多点传输,通信术语,LTE-A的重要技术之一。 CoMP传输是指地理位置上分离的多个传输点,协同参与为一个终端的数据(PDSCH)传输或者联合接收一个终端发送的数据(PUSCH),参与协作的多个传输点通常指不同小区的基站。CoMP技术将边缘用户置于几个基站的同频率上,几...

ilean_J的博客 2万+

基于Python的网贷平台数据爬虫实战:Scrapy+Selenium+反反爬策略

python复制下载# items.py本文详细介绍了如何使用Python构建一个完整的网贷平台数据爬虫系统,涵盖了从基础爬取到高级反反爬策略的全套解决方案。我们使用了Scrapy框架作为基础,结合Selenium处理动态内容,实现了多种反反爬策略,并探讨了分布式爬虫的实现方式。机器学习识别验证码基于深度学习的网页结构变化检测自动化行为模拟的更精细控制基于Kubernetes的弹性爬虫集群。

2201_76125261的博客 1560

[LeetCode] 91. Decode Ways

A message containing letters fromA-Zis being encoded to numbers using the following mapping: 'A' -> 1 'B' -> 2 ... 'Z' -> 26 Given anon-emptystring containing only digits, det...

dey8091的博客 259

置顶必读(2) |《滚雪球学数学建模》专栏目录 & 历年国赛/美赛真题库 & 真题解析(持续更新中)

本专栏《滚雪球学数学建模》采用“从零开始、逐步滚雪球”的学习路径,把数学建模的基础理论、方法工具与大量实战真题(尤其是国赛题,涵盖2025-1992所有真题)有机融合,形成一套系统化训练路线。非常适合零基础入门、希望提升模型与工程化能力的本科/研究生,以及备战全国大学生数学建模竞赛(国赛/省赛)的同学。加油,我们一起把建模能力打造成可迁移的核心竞争力!

**My Coding Family** 26万+

【leetcode】(python)91. Decode Ways解码方式

解码方式DescriptionExample题意解体思路code 91. Decode Ways Medium Description A message containing letters from A-Z is being encoded to numbers using the following mapping: ‘A’ -> 1 ‘B’ -> 2 … ‘Z’ -> 2...

。 288

2026年数字IC设计华为笔试带答案解析

这篇文章是一份数字IC设计工程师笔试的试卷结构和部分题目解析。试卷包含单选题31题(每题2分)、多选题10题(每题4分)和简答/编程题4题(每题7分),总分130分,考试时长120分钟。 摘要重点: 试卷涵盖数字IC设计的关键知识点,包括Verilog语法、时序逻辑、状态机设计、跨时钟域处理等; 题目解析详细说明了各选项的正确性,如非阻塞赋值特性(D错误)、功耗影响因素(C与组合逻辑级数弱相关)等; 包含实际工程问题,如DDR4接口电平(SSTL-1.2)、卡诺图变量排序(格雷码)等; 部分题目考察基础概念

Open 375

GEE APP:基于Sentinel-2遥感影像的植被指数(NDVI)和水体指数(NDWI)可视化应用

本文介绍了利用Google Earth Engine(GEE)平台处理Sentinel-2卫星数据的方法,重点讲解NDVI(归一化植被指数)和NDWI(归一化水体指数)的计算与应用。内容包括环境准备、数据加载与处理、指数计算原理、可视化方法以及实际应用案例。教程详细展示了如何定义研究区域、加载影像数据、进行指数运算,并生成专业统计报告和图例。文章还提供了常见问题解答和最佳实践建议,为生态环境监测、农业评估和水资源管理等场景提供了实用工具。通过JavaScript代码示例,读者可以快速掌握GEE平台的遥感影像

此星光明博客 273

LeetCode91——Decode Ways

Decode ways 一维动态规划,考虑条件限制

上善若水 2070

5实践报告撰写

一 项目流程 明确标准 确定分析目标 寻找分析数据 清洗数据 描述性分析 诊断性分析 提出建议 撰写报告 二 确定分析目标 什么是你感兴趣的? 什么是你熟悉的? 什么是你擅长的? 1 电商零售行业 商品销量分析 价格分析 评价分析 ...... 2 自媒体行业 广告投放力度分析 广告投放回报分析 不同类型的产品分析 ...... 3 金融行业 股票价格分析 信贷业务违约分析 客户画像分析 ...... ...

waywardG的博客 2833

【LeetCode】91. Decode Ways

91. Decode Ways Description: A message containing letters from A-Z is being encoded to numbers using the following mapping: 'A' -&gt; 1 'B' -&gt; 2 ... 'Z' -&gt; 26 Given a non-empty string con...

Microstrong 1572

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

LeetCode91 Decode Ways

LeetCode91 Decode Ways 问题来源LeetCode91 问题描述 A message containing letters from A-Z is being encoded to numbers using the following mapping: 'A' -> 1 'B' -> 2 ... 'Z' -> 26 Given an encoded message

yanqinghe123的专栏 303

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

LeetCode 91. Decode Ways 题解

本题是动态规划的经典应用,与爬楼梯问题类似,但增加了更多的约束条件。状态定义:dp[i] 表示前 i 个字符的解码方法数状态转移:考虑单独解码和组合解码两种情况边界条件:'0' 不能单独解码,也不能作为组合的开头通过本题可以深入理解带约束条件的动态规划问题。

cannonjinx的博客 1151

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Leetcode 91 Decode Ways

思路:遍历string,每次可选择一个数字或两个数字。然后利用recursive方法。如果选一个数字,那么numDecodings(s.substring(i+1));如果选两个数字,那么numDecodings(s.substring(i+2))。那么此时就是把两种情况的结果加起来,就是最后的答案。今天心情很差,我的思路和标答思路完全一样,代码也写出来了,挺顺利的,但是就一直time limit exceeed。我就花了很多时间优化,但是最后还是不行。后来看了别人的思路及代码。我们的思路是一样的。我觉得.

GoodJobJasper的博客 198

LeetCode 91. Decode Ways 渣渣学算法系列

LeetCode 91. Decode WaysJava实现(这是个low13的尝试)参考的学习视频地址:https://www.bilibili.com/video/av27893462/?p=3&amp;amp;amp;amp;t=2563//该题为划分类动态规划.代码如下:还需改进 Java实现(这是个low13的尝试) 参考的学习视频地址:https://www.bilibili.com/video/av2789...

dajin5776的博客 618

LeetCode 91. Decode Ways(递推)

题目来源:https://leetcode.com/problems/decode-ways/ 问题描述 91.Decode Ways Medium A message containing letters fromA-Zis being encoded to numbers using the following mapping: 'A' -> 1 'B' -> 2...

da_kao_la的博客 242

LeetCode 91. Decode Ways

LeetCode 91. Decode Ways A message containing letters from A-Z is being encoded to numbers using the following mapping: 'A' -&gt; 1 'B' -&gt; 2 ... 'Z' -&gt; 26 Given a non-empty string contain...

qq_40280096的博客 199

LeetCode—91. Decode Ways

LeetCode—91. Decode Ways 题目 https://leetcode.com/problems/decode-ways/description/ 找出字符串的解码方式数。 思路及解法 动态规划的题目。 我们用dp[i]表示到前i个字符,总计的解码方式。 考虑递归关系。s[i]的值是我们需要关心的问题,如果它是0,此时s[i]必须和s[i-1]组合,所以需要去看s[i-1]的值...

pnnngchg的博客 355

【Leetcode】91. 解码方法(Decode Ways)

Leetcode - 91 Decode Ways (Medium) 题目描述:给定一个字符串,字母 A - Z 可以分别解码成 1 - 26,求字符串共有几种解码方法。 Input: "226" Output: 3 Explanation: It could be decoded as "BZ" (2 26), "VF" (22 6), or "BBF" (2 2 6). 解题思路:要注意 0...

厉兵秣码 320

【LeetCode】#91解码方法(Decode Ways)

【LeetCode】#91解码方法(Decode Ways) 题目描述 一条包含字母 A-Z 的消息通过以下方式进行了编码: ‘A’ -&gt; 1 ‘B’ -&gt; 2 … ‘Z’ -&gt; 26 给定一个只包含数字的非空字符串,请计算解码方法的总数。 示例 示例 1: 输入: “12” 输出: 2 解释: 它可以解码为 “AB”(1 2)或者 “L”(12)。 示例 2: 输入: “226...

weixin_43858604的博客 200

Leetcode-91. Decode Ways

Leetcode-91.Decode Ways 题目: A message containing letters from A-Z is being encoded to numbers using the following mapping: 'A' -> 1 'B' -> 2 ... 'Z' -> 26 Given an encoded message contain

caoyan_12727的博客 616

Leetcode 91. Decode Ways (Medium) (cpp)

Leetcode 91. Decode Ways (Medium) (cpp)

还是需要多学习!闷声大发财,这是坠吼的! 544

[LeetCode]91.Decode Ways

题目 A message containing letters from A-Z is being encoded to numbers using the following mapping: ‘A’ -&gt; 1 ‘B’ -&gt; 2 … ‘Z’ -&gt; 26 Given an encoded message containing digits, determine th...

SmartSi 334
上一篇: Leetcode 72. Edit Distance
下一篇: Leetcode 322. Coin Change
vincentCheungM
博客等级 码龄10年 4粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值