leetcode算法想不出来怎么办,leetcode怎么写代码

首页 > 机动车 > 作者:YD1662023-11-03 11:15:13

leetcode算法想不出来怎么办,leetcode怎么写代码(5)

看不清的同学可自行到LeetCode搜索一下题目"Decode Ways II"。从这道题的描述我们得知,题目给了一个字母到数字的映射规则,即A到1、B到2,… Z到26。这里面要注意数字0。题目还说,编码后的数字还可以包含星号,但是星号只匹配1到9,不匹配0。这一点要是不仔细阅读题目,很容易忽略,最后导致Wrong Answer。现在输入是编码后的数字串,问有多少种字母串可以与它匹配。题目后面还举了几个例子,都是很重要的信息,阅读的时候都要留意。

4. 初步分析

读完题目之后,我们了解了题目的输入是什么、输出是什么。这个时候,大多数情况下,我们的状态是茫然无措,不知道从何处下手。这是完全正常的,否则,一读完题目就知道怎么做,那只能说明这道题目对于我们的锻炼价值不大。所谓锻炼,就是要让自己去完成高出自己现有水平的挑战任务,当克服了各种障碍,解决了这个挑战,我们的水平才会提高。

那么应该如何下手呢?数学归纳法给我们灵感,任何问题,我们都可以从最简单的情况开始,科学家也是这样做科学研究的。记住,遇到不太会的问题,首先去研究它最简单的情况

对于这个问题,最简单的情况即字符串长度等于1的情况,即只有一个数或星号。对于这种最简单情况,我们可以人工分析出它的解,如下图所示。

leetcode算法想不出来怎么办,leetcode怎么写代码(6)

那长度等于1的情况我们明白了,长度等于2呢?还是可以人工分析出来,因为每个位置可出现3种字符,0或1-9或*,情况有9种,如下图所示(A代表1-9)。

leetcode算法想不出来怎么办,leetcode怎么写代码(7)

现在长度等于2的情况已经比较复杂了,所以我们单独写一个函数处理它,情况划分比较复杂,具体见代码解释。

leetcode算法想不出来怎么办,leetcode怎么写代码(8)

上一页1234下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.