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

罗湖网站制作seo排名影响因素主要有

罗湖网站制作,seo排名影响因素主要有,java web网站开发报告,网站建设中 敬请期待 源码[动态规划] (四) LeetCode 91.解码方法 91. 解码方法 题目解析 (1) 对字母A - Z进行编码1-26 (2)11106可以解码为1-1-10-6或者11-10-6, 但是11-1-06不能解码 (3) 0n不能解码 (4) 字符串非空,返回解码方法的总数 解题思路 状态表示 dp[i]:以i为结…

[动态规划] (四) LeetCode 91.解码方法

91. 解码方法

image-20231103192610042

题目解析

(1) 对字母A - Z进行编码1-26

(2)11106可以解码为1-1-10-6或者11-10-6, 但是11-1-06不能解码

(3) 0n不能解码

(4) 字符串非空,返回解码方法的总数

解题思路
状态表示

dp[i]:以i为结尾,的解码方法

状态转移方程

1.单独解码

  • dp[i]与dp[i-1]分别解码:s[i]解码成功,即加上dp[i-1];解码失败,则这种方法以及之前的解码方法dp[i-1]是错误的,方法数0

2.组合解码

  • dp[i]与dp[i-1]组合:s[i-1] * 10 + s[i],解码成功,即加上dp[i-2];解码失败,则到dp[i-2]的方法是错误的,方法数0
初始化和填表顺序
  • 初始化

我们使用了i-1i-2的值,所以初始化dp[0]和dp[1]。

dp[0]与s[0]有关

dp[1]与s[1]有关,还与s[0]与s[1]的组合有关

dp[0] = s[0] != '0';
if(dp[1] != '0') dp += dp[0];
if(dp[0] != '0' && dp[1] != '0') dp[1] += dp[0];
int sum = ((dp[0] - '0') * 10 + (dp[1] - '0'));
if(sum >= 10 && sum <= 26) dp[1] += 1;
  • 填表顺序

从左往右填表

返回值

返回n-1位置即可,同状态表示

代码实现
class Solution {
public:int numDecodings(string s) {//构建dp数组int n = s.size();vector<int> dp(n);//初始化if(s[0] != '0') dp[0] = 1;//单独解码if(n == 1) return dp[0];if(s[0] != '0' && s[1] != '0') dp[1] += dp[0];//单独解码int sum = (s[0] - '0') * 10 + s[1] - '0';if(sum >= 10 && sum <= 26) dp[1]++;//组合解码//填表for(int i = 2; i < n; i++){//情况1if(s[i] != '0') dp[i] += dp[i-1];//情况2sum = (s[i-1] - '0') * 10 + s[i] - '0';if(sum >= 10 && sum <= 26) dp[i] += dp[i-2];}//返回结果return dp[n-1];}
};

image-20231103194639683

总结

细节1:字符串中数字进行±*/需要减一个字符0。

细节2:数据范围,字符串长度为1时直接返回dp[0]

细节3:初始化dp[1]时的代码与填表时的代码高度重合,我们可以进行优化

优化方法

1.将申请的空间扩大一位,将填表的下标向后推一位。

2.dp[0]初始化为1,dp[0]为我们虚构出来的一位;因为我们想要使i=2,dp[i]初始化正确,会访问到dp[i-2]。如果dp[0]为0,在计算组合的情况时,就会少加一次dp[i-2]。

3.因为我们把申请的空间dp,填表下标向后推一位,访问字符串s的下标得前进一位,则循环中s[i]的i都得减1

4.将填表的下标向后推一位,返回值也得向后推一位,即dp[n]。

优化代码
class Solution {
public:int numDecodings(string s) {//优化代码int n = s.size();vector<int> dp(n+1);dp[0] = 1;dp[1] = s[0] != '0';if(n == 1) return dp[1];for(int i = 2; i <= n; i++){if(s[i-1] != '0') dp[i] += dp[i-1];int sum = ((s[i-2] - '0') * 10) + (s[i-1] - '0');if(sum >= 10 && sum <= 26) dp[i] += dp[i-2];}return dp[n];}
};

image-20231103195008881

http://www.hrbkazy.com/news/43677.html

相关文章:

  • 宣威网站上海最近三天的新闻
  • 网站制作经典案例百度免费seo
  • 外贸开发模板网站模板百度网址导航主页
  • 网站开发jquery廊坊百度提升优化
  • 做网站服务器可以挂到外地么简阳seo排名优化培训
  • java自助建站网站建设评价兰州关键词快速上首页排名
  • 电商网站的相同点十大免费域名
  • 冬奥会网页设计代码沧州网站优化
  • 弥勒网站开发十大免费网站推广平台有哪些
  • 能用网站做微信小程序优化公司结构
  • 移动互联网站开发四川百度推广排名查询
  • 做网站服务费税率拓客app下载
  • wordpress添加评论ios aso优化工具
  • 网站后台管理系统怎么用b2b国际贸易平台
  • 那个网站做图片好看个人网页制作
  • 做外贸网站要多少钱太原网站seo
  • 台州品牌网站建设排名优化百度
  • 搜搜网站提交怎么建网站卖东西
  • wordpress主题演示站广州百度推广客服电话多少
  • word做网站谷歌seo怎么优化
  • 网站怎么做微信支付宝支付网站推广与优化方案
  • 魔方网站建设网站在线客服系统源码
  • 网站建设需要哪些资料公司网站建站要多少钱
  • 礼品类网站建设策划方案搜索引擎seo是什么
  • 域名与网站建设百度客服电话人工服务热线电话
  • 网站建设费发票名称自己做网络推广怎么做
  • 寿光市住房和城乡建设局网站免费网站推广产品
  • 共享vps可以做网站吗市场调研的五个步骤
  • 织梦系统网站模板修改域名注册哪个网站好
  • dedecms 做影网站网站收录查询工具