剑指offer和斐波那契相关的几道题的思路

作为一名留学生,没赶上秋招,春招还有两个月,一直说要好好刷题放假后也变得懒散了。今天把简历投出去了,也得督促自己开始练题了,所以想着不如就把自己每天做的题的思路写到博客上。

剑指Offer中与斐波那契相关的题目包括:斐波那契数列,青蛙跳台阶普通版(一次只能跳一格或两格)和矩阵覆盖问题(用2*1的小矩形覆盖2*n的大矩形)。问法千变万化,其实都是斐波那契数列。

首先斐波那契不用说,挨着算就行了,不要用list存,要么会报错说内存不足(在线机试会有内存使用限制)。

青蛙跳问题,你想上一层只有一种方法,方法数为1;上两层可以一下跳上去,也可以跳两次,方法数为2;上三格的时候可以从一层直接跳到三层,也可以从二层跳到三层,其中上二层有两种方法,简单来说,上三层的方法等于上一层的方法数+上二层的方法数;上四层同理,等于上二层的方法数+上三层的方法数。。。。

然后矩阵覆盖问题,大矩阵是2*n,相当于有两层,每层n格。你要两层一起考虑就麻烦了,你只考虑一层就会豁然开朗,和青蛙跳问题一样啊!要么被一个横放的小矩形覆盖2格,要么被竖放的小矩形覆盖1格。而且这个大矩阵两层的情况完全一样,算完一层的情况就是答案了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值