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

title (网站开发)全球热搜榜排名今日

title (网站开发),全球热搜榜排名今日,百度推广效果怎样,如何免费创建一个个人网站91. 解码方法 - 力扣(LeetCode) 在完成动态规划入门之后,我们先整一个中档题,也是前面简单题的变体。 分析思路: 在拿到最终结果之前,我们应该明确什么样的数字序列能够解码。 规则1:由于只有…

91. 解码方法 - 力扣(LeetCode)

在完成动态规划入门之后,我们先整一个中档题,也是前面简单题的变体。

分析思路:

在拿到最终结果之前,我们应该明确什么样的数字序列能够解码。

规则1:由于只有26个字母,所以如果是前后两位数字,必须要在1~26之间

规则2:单个0不能直接映射,例如03、05这种也不能映射,只有10和20才能够含有0

规则3:如果是单个映射那就只能在1~9之间,如果是两位数映射那么十位上只能是1或者2,如果是1的话,个位的范围是0~9,如果是2的话,个位的范围是0~6,也就是两位数在10~26之间

如果我们免去映射规则,那么这道题就退化成一次只能上一个或者两个台阶的题目了。所以这道题的区别就在于,有些台阶不能迈腿例如出现04,有些地方例如10或者20,只能迈两步不能迈一步,所以需要通过制定上面的规则来筛选出不能迈腿的地方,然后用台阶问题的模板解决。

接下里我们通过回答五个问题来逐步分析解题需要的过程。

1.状态表示什么

根据经验和题目要求,不难得到这道题的dp[i]可以表示为以i位置为结尾的解码方法的总数。我们一般先考虑从结尾向前,所以离结尾最近的一步有两种情况,据此写出状态转移方程。

2.状态转移方程

情况一:最后一步是单独解码,根据上面的规则可以知道,如果单独解码的数字在1~9之间则解码成功,否则解码失败不进行累加。

情况二:最后一步解码了两位数,根据上面的规则可以知道,如果两位数解码的数字在10~26之间则解码成功,否则解码失败不进行累加。

所以在两种情况都解码成功的情况下,状态转移方程为dp[i]=dp[i-1]+dp[i-2]

3.初始化

dp[0]:如果解码成功则为1,否则为0

dp[1]:情况一:单步和双步两种方法都解码失败,此时为0

情况二:单步和双步有一种成功一种失败,此时为1

情况三:单步和双步都解码成功,此时为2

4.填表顺序

根据状态转移方程可以知道:后面的值依赖前面的值,所以是从前往后填

5.返回值

按照dp[i]的定义可以知道,最后返回的就是dp[n-1]

具体实现:

class Solution {
public:int numDecodings(string s) {int n = s.size();vector<int> dp(n);//初始化dp[0] = (s[0] != '0');//先处理边界情况if(n == 1) return dp[0];//如果前两个数都不为0,就说明能单步解码if(s[0] != '0' && s[1] != '0')dp[1] += 1;int num = (s[0] - '0') *10 + s[1] -'0';//通过ASCII码转化来保存前两个位表示的数if(num>=10 && num<=26)dp[1] += 1;//填表for(int i=2;i<n;i++){if(s[i] != '0')dp[i] += dp[i-1];int tmp = (s[i-1] - '0')* 10 + s[i] - '0';//保存这种情况代表的两位数if(tmp>=10 && tmp<=26)dp[i] += dp[i-2];} return dp[n-1];}
};
http://www.hkea.cn/news/768779/

相关文章:

  • 长春服务好的网络营销seo网站推广的主要目的
  • 搜索引擎优化和关键词竞价广告的区别宿州百度seo排名软件
  • 一搜同志网站建设电话青岛网站seo优化
  • 官方做任务网站网络营销公司注册找哪家
  • django做视频网站网络营销推广专家
  • 国外手做网站搜索引擎推广的关键词
  • 网站建设商标注册多少类目域名注册免费
  • 哪里有网站设计公司长沙网络公司最新消息
  • 试描述一下网站建设的基本流程百度怎么发布短视频
  • 我现在有域名怎么做网站搜索关键词热度
  • 海外如何 淘宝网站建设快速seo整站优化排行
  • 代还信用卡网站建设赣州seo顾问
  • 响应式网站建设推广开网店
  • 成都专业网站推广公司优化大师优化项目有
  • 怎么用wordpress搭建网站百度关键词排名点
  • 外挂网站模板域名搜索引擎入口
  • 手机网站开发 pdfseo搜索引擎优化工作内容
  • 上海中小网站建设洛阳seo博客
  • 南宁网站建设公司哪家专业搜索引擎优化包括
  • 新疆住房与建设厅网站新产品推广方式有哪些
  • 做网站站怎么赚钱网络营销模式有哪些?
  • 南通城市建设集团有限公司网站南京谷歌推广
  • 南通网站定制方案怎么查找关键词排名
  • 权大师的网站是哪个公司做的百度做个人简介多少钱
  • 烟台网站建设设计软文广告经典案例100字
  • 做微信用什么网站广州百度seo代理
  • 网站建设目标 优帮云跨境电商营销推广
  • 郑州华恩科技做网站怎么样竞价排名适合百度吗
  • flask做大型网站开发深圳seo博客
  • 合肥网站建设平台小程序怎么引流推广