每日一题系列 - Two Ways.
来源:互联网 发布:javascript 循环json 编辑:程序博客网 时间:2024/06/04 20:08
这是一道上级面试题。
题目:
上一个N阶段楼梯,每次可以上1阶或者2阶,请问共有多少种不同的走法?
比如:4层楼梯,答案是:([2, 2], [1, 1, 2], [1, 2, 1], [2, 1, 1], [1, 1, 1, 1]) 共5种。
解答:
这个算法的思路是递归,N阶就是在N-1的情况下,多了一阶;不过分两种情况:
1) N-1 楼梯,第一步以1开头,表示为 [1, ...]
则: [1, 1, ...]是一种上N阶楼梯的走法
另外,由于2个单步可以合并为一个2阶步, 所以[2,...]也是一种上楼方法
2)N-1楼梯,以2开头,表示为[2,...]
则: [1,2...]是一种新上楼方法
以上两种情形包含了所有情形。
代码:用python实现,真的很方便
- 每日一题系列 - Two Ways.
- 每日一题:Two Sum
- 每日一题系列 - 荷兰国旗问题
- 【leetcode每日一题】NO21.Merge Two Sorted Lists
- 【leetcode每日一题】NO160.Intersection of Two Linked Lists
- 【leetcode每日一题】2.Add Two Numbers
- leetcode 每日一题 21. Merge Two Sorted Lists
- LeetCode每日一题——231. Power of Two
- 每日一题系列 - 二叉树节点求共同祖先
- 每日一题系列 - Compacting Stickers (ACM竞赛题)
- 每日一题系列 - 全排列算法python实现
- two ways of multiThread
- Sort Colors (two ways)
- leetcode 每日一题 231. Power of Two 326. Power of Three
- leetcode Two Sum 每日一题 (。・∀・)ノ゙嗨
- [leetcode刷题系列]Decode Ways
- 每日一练之Two sum [leetcode No.1]
- (每日算法)LeetCode --- Decode Ways
- XSLT中输出 的方法
- document.execCommand() 的作用
- HTTP和HTTPS协议的区别
- Linux系统新手学习的11点建议
- execCommand 命令详解
- 每日一题系列 - Two Ways.
- XSLT中&的表示方法
- SharePoint 2010新体验2 – Ribbon界面
- Cookie编程基础:控制Cookie
- 在dotblogs中看到的感兴趣的文章
- Java程序员学习Flex和BlazeDS的十三个理由
- 网络连不上
- 嵌入式学习之路(转载)
- Lung Segmentation