图解LeetCode:Decode Ways


如果给你一个找规律的题目1,2,3,5,? 下一个是多少?

大家在读书时肯定遇到过这样找规律的题目,聪明的你肯定会知道下一个数字是8,为什么呢?这其实就是著名的斐波那契数列,下一个数字是前两个数字的和。

本质上LeetCode的第91号题目Decode Ways其实就是斐波那契数列数列的变型,这是个什么样的题目呢?

大写字母A-Z被映射到了以下数字:

'A' -> 1
'B' -> 2
...
'Z' -> 26

那么给定一个只包含数字的字符串,问这个数字字符串有多少种可能的解释。

比如给定“12”,那就有两种解释,可以解释为AB也就是(1, 2),也可以解释为L,即(12)。

该怎么解决这个问题呢?

 

思考过程

给定一个字符串假设是“1226”,我们可以先从最简单的情况开始,从右边数第一个数字是6,那么对于数字6来说很简单,只有一种解释,那就是6,即:

1574828591101

我们用“数组下标 :{编码数字}”的形式来表示以某一个位置为开始的字符串所有可能的编码形式。

接下来我们来到了右数第二个数字2,对于26来说有两种解释,一种就是26也就是Z;另一种是(2,6)也就是BF,因此:

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值