程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

剑指offer - 格子覆盖

发布于2020-03-08 22:25     阅读(1007)     评论(0)     点赞(29)     收藏(0)


题目:

我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?

 

比如n=3时,2*3的矩形块有3种覆盖方法:

思路:

这个题其实是青蛙跳格子问题换了叙述方法,青蛙跳格子问题见:https://blog.csdn.net/qq_22498427/article/details/104708687

小格子可以一次竖着放一个,也可以横着放两个。因此就像 n 级台阶,青蛙一次可以跳两级,也可以跳一级。

  1. class Solution:
  2. def rectCover(self, number):
  3. if number == 0:
  4. return 0
  5. ans0 = 1
  6. ans1 = 1
  7. for i in range(2,number+1):
  8. temp = ans0 + ans1
  9. ans0 = ans1
  10. ans1 = temp
  11. return ans1

 



所属网站分类: 技术文章 > 博客

作者:我Lovepython

链接:https://www.pythonheidong.com/blog/article/248633/e65cfc62fb013d9f94b8/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

29 0
收藏该文
已收藏

评论内容:(最多支持255个字符)