当前位置: 首页 > article >正文

Leetcode 91. 解码方法 动态规划

原题链接:Leetcode 91. 解码方法
在这里插入图片描述
在这里插入图片描述
自己写的代码:

class Solution {
public:
    int numDecodings(string s) {
        int n=s.size();
        vector<int> dp(n,1);
        if(s[n-1]=='0') dp[n-1]=0;
        for(int i=n-2;i>=0;i--)
        {
            if(s[i]!='0')
            {
                string t=s.substr(i,2);
                int tmp=atoi(t.c_str());
                if(tmp>=1&&tmp<=26) dp[i]=dp[i+1]+(i+2<n ? dp[i+2]:1);
                else dp[i]=dp[i+1];
            }
            else 
            {
                if(i-1>=0 && (s[i-1]=='1' || s[i-1]=='2'))
                {
                    dp[i]=0;
                    dp[i-1]=dp[i+1];
                    i--;
                }
                else return 0;
            }
        }
        return dp[0];
    }
};

参考别人的代码:Leecode 91. 解码方法
在这里插入图片描述

class Solution {
public:
    int numDecodings(string s) {
        int n=s.size();
        if(s[0]=='0') return 0;
        int res=1,pre=1;
        for(int i=1;i<n;i++)
        {
            int tmp=res;
            if(s[i]=='0')
            {
               if(s[i-1]=='1' || s[i-1]=='2') res=pre;
               else return 0;
            }
            else if(s[i-1]=='1' || (s[i-1]=='2' && s[i]>='1' && s[i]<='6'))
                res+=pre;
            pre=tmp;
        }
        return res;
    }
};



http://www.kler.cn/a/507784.html

相关文章:

  • 【Gossip 协议】Golang的实现库Memberlist 库简介
  • 动态路由vue-router
  • 深度学习中的卷积和反卷积(四)——卷积和反卷积的梯度
  • Autodl转发端口,在本地机器上运行Autodl服务器中的ipynb文件
  • 网站收录入口提交的方法有哪些(网站收录的方式都有哪些)
  • Python在DevOps中的应用:自动化CI/CD管道的实现
  • DATACOM-STP、RSTP、MSTP-复习-实验
  • 简历_使用优化的Redis自增ID策略生成分布式环境下全局唯一ID,用于用户上传数据的命名以及多种ID的生成
  • 【Python】Selenium根据网页页面长度,模拟向下滚动鼠标,直到网页底部的操作
  • UI Automation 中所有Patterns
  • [WUSTCTF2020]Cr0ssfun
  • Nginx(搭建高可用集群)
  • 如何使用WPS的JS宏实现Word表格的自动编号
  • Open3D 计算每个点的协方差矩阵【2025最新版】
  • improve-gantt-elastic(vue2中甘特图实现与引入)
  • 软考信安25~移动应用安全需求分析与安全保护工程
  • blackbox_exporter 如何检测端口
  • 【Javaweb05】 XML探秘:解码数据的哲学,构建跨界的沟通桥梁
  • 终极布朗尼盘-论文学习总结(来自美赛2013A题)
  • uniapp -- Vue3 MQTT集成(H5、小程序)踩坑记录
  • 【MySQL】MySQL用户管理
  • RV1126+FFMPEG推流项目(9)AI和AENC模块绑定,并且开启线程采集
  • Docker安装PostGreSQL docker安装PostGreSQL 完整详细教程
  • 【零基础入门unity游戏开发——unity通用篇36】向量(Vector3)的基本操作和运算(基于unity6开发介绍)
  • linux中的docker下载镜像
  • 【影刀RPA_启动任务api】