Climbing Stairs
来源:互联网 发布:破解版360企业云盘mac 编辑:程序博客网 时间:2024/06/07 08:00
问题描述:
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?
解题思路:
这是一个典型的斐波那契数列,对于有n步的台阶:
1、如果先跳1步,还剩余n-1步,那么这就变成n-1步台阶跳法数目;
2、如果先跳2步,还剩余n-2步,这就变成n-2步台阶跳法数目。
所以经典的表达式:f(n) = f(n-1) + f(n-2)
class Solution {public: int climbStairs(int n) { /*f(n)=f(n-1)+f(n-2)*/ if(n==0||n==1) return 1; int stepOne=1,stepTwo=1; int result=0; for(int i=2;i<=n;i++){ result=stepOne+stepTwo; stepTwo=stepOne; stepOne=result; } return result; }};
0 0
- Climbing Stairs
- Climbing Stairs
- Climbing Stairs
- Climbing Stairs
- Climbing Stairs
- Climbing Stairs
- Climbing Stairs
- Climbing Stairs
- Climbing Stairs
- Climbing Stairs
- Climbing Stairs
- Climbing Stairs
- Climbing Stairs
- Climbing Stairs
- Climbing Stairs
- Climbing Stairs
- Climbing Stairs
- Climbing Stairs
- Swift 学习之路
- ECSHOP利用ajax更新购物车数量
- PHP跨项目传递数据 curl_init()使用说明
- Activity生命周期详解
- hdu 1865 1sting
- Climbing Stairs
- ORACLE函数 非著名函数之单值函数
- SQL优化【基础03】 - 从执行计划中看出问题所在及对应解决办法
- 基于GTK创建ARDrone 2.0控制线程
- java 匿名内部类(Anonymous Class)
- ZOJ 3603 Draw Something Cheat
- QT DOM方式写入xml文件
- 黑马程序员--iOS默认状态栏文字颜色更改
- 博客为什么要有题目呢?