剑指offer(十)矩形覆盖
来源:互联网 发布:2017网络市场专项行动 编辑:程序博客网 时间:2024/06/05 14:50
题目
- 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
分析
- 先找规律,n<=0时,结果肯定返回0
- n = 1时,返回值为1;n=2时,返回值为2;n=3时,返回值为3等等
- 当为n时,还是按照之前的思想,化整为零,从一处着手
- 现在看第一个1*1的位置,它有两种放置的方式,横着或者竖着放置矩形
- 当它竖着放置的时候,剩余的就是f(n-1)种放置方法
- 当它横着的时候,下面的两个也只能横着,剩余的就是f(n-2)种方式
- 所以最终这也是一个斐波那契数列
解题代码
public class Solution { public int RectCover(int target) { if(target <= 0) return 0; if(target == 1) return 1; if(target == 2) return 2; int a = 1; int b = 2; int sum = 0; for( int i = 3; i <= target; i++ ) { sum = a + b; a = b; b = sum; } return sum; }}
- 总结
- 细节入手,分析规律,善于归纳总结,才能抓住问题本质。
阅读全文
1 0
- 剑指offer(十)矩形覆盖
- 剑指offer(十)之矩形覆盖
- 矩形覆盖(剑指Offer)
- 剑指offer--矩形覆盖
- 剑指offer--矩形覆盖
- 《剑指offer》矩形覆盖
- 剑指offer 矩形覆盖
- 《剑指offer》矩形覆盖
- 剑指 offer:矩形覆盖
- 【剑指Offer】矩形覆盖
- 剑指offer 矩形覆盖
- 剑指offer-矩形覆盖
- 剑指Offer 矩形覆盖
- 剑指offer 矩形覆盖
- [剑指offer]矩形覆盖
- 《剑指offer》-矩形覆盖
- 【剑指offer】覆盖矩形
- 《剑指offer》矩形覆盖
- 微信公众平台开发视频公开课第1讲-基础入门
- SpringMVC相关
- 《微信公众平台应用开发:方法、技巧与案例》火热预售中...
- 时间插件测试
- 即将陆续推出微信公众平台开发视频教程
- 剑指offer(十)矩形覆盖
- 参与CSDN社区问答活动“基于Java的微信公众平台开发”赢签名赠书
- 《趣学算法》目录及签名版
- 微信公众帐号开发教程第16篇-应用实例之历史上的今天
- 微信公众帐号开发教程第17篇-应用实例之智能翻译
- 微信公众帐号开发教程第18篇-应用实例之音乐搜索
- 微信公众平台开发教程第19篇-应用实例之人脸检测
- 微信公众平台开发教程第21篇-“可信网址”白名单
- 微信公众平台开发教程第20篇-新手解惑40则