70. Climbing Stairs
来源:互联网 发布:网络空间安全研究生 编辑:程序博客网 时间:2024/05/03 04:23
题意:You are climbing a stair case. It takes n steps to reach to the top.
Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?
Note: Given n will be a positive integer.
思路:这题其实用排列组合的方法也可以解,但这提的本质其实就是菲波那切数列,r[i+2]其实是由r[i+1]和r[i]分别走一步和两部构成的,所以r[i+2] = r[i+1]+r[i],这样的话解法就很多了。
C++:这是我最开始的解法,但是时间超了。。。:
class Solution {public: void recur(int cur, int n, int &result){ if (cur > n) return; else if (cur == n){ result += 1; return; } else{ recur(cur + 1, n, result); recur(cur + 2, n, result); } } int climbStairs(int n) { int result = 0; recur(0, n, result); return result; }};
Python:当然,可以不用设置数组,直接用常数空间求解:
def climbStairs(self, n): a = b = 1 for _ in range(n): a, b = b, a + b return a
0 0
- [LeetCode]70.Climbing Stairs
- 70.Climbing Stairs
- LeetCode --- 70. Climbing Stairs
- [Leetcode] 70. Climbing Stairs
- [leetcode] 70.Climbing Stairs
- 70.Climbing Stairs
- 70. Climbing Stairs
- 70.Climbing Stairs
- 70. Climbing Stairs
- [leetCode]70. Climbing Stairs
- 70. Climbing Stairs
- 70. Climbing Stairs LeetCode
- 70. Climbing Stairs
- 70. Climbing Stairs
- 70. Climbing Stairs
- [LeetCode]70. Climbing Stairs
- 【LeetCode】70. Climbing Stairs
- 70. Climbing Stairs
- 17.03.05 正则表达式
- 查看SELinux状态并关闭SELinux
- uml几种类图
- ogg日常运维命令
- PCL_读入PCD格式文件操作
- 70. Climbing Stairs
- HBase应用程序开发01创建表
- pca 降纬原理
- ext4 链接文件
- 4. 数据分割(The caret package)
- cdoj 30 最短路 flyod
- SpringSecurity学习笔记之三:配置用户存储
- 如何在visual studio下编译zxing cpp,以及zxing c++的使用
- 评日报文章:关于华为裁员