博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Climbing Stairs
阅读量:4587 次
发布时间:2019-06-09

本文共 647 字,大约阅读时间需要 2 分钟。

题目:

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?

解析:

设 f(n) 表示爬 n 阶楼梯的不同方法数,为了爬到第 n 阶楼梯,有两个选择:

• 从第 n − 1 阶前进 1 步;
• 从第 n − 1 阶前进 2 步;

因此,有 f(n) = f(n − 1) + f(n − 2)。

这是一个斐波那契数列。

方法 1,递归,太慢;方法 2,迭代。

1 class Solution { 2 public: 3     int climbStairs(int n) { 4         int prev = 0; 5         int cur = 1; 6         for(int i = 1; i <= n ; ++i){ 7             int tmp = cur; 8             cur += prev; 9             prev = tmp;10         }11         return cur;12     }13 };

 

转载于:https://www.cnblogs.com/raichen/p/4979741.html

你可能感兴趣的文章
vim 撤销 恢复 快捷键
查看>>
python导入import requests报错
查看>>
Hexo博客搭建
查看>>
内部类详解(很详细)
查看>>
dubbox系列【三】——简单的dubbox提供者+消费者示例
查看>>
常见sql 写法总结
查看>>
Windows xp搭建Windows Phone 7开发环境
查看>>
[bzoj] 1597 土地购买 || 斜率优化dp
查看>>
Lodop的JS模版代码、文档式模版 生成加载赋值博文索引
查看>>
Python安装和开发环境搭建
查看>>
[USACO4.2] 草地排水 Drainage Ditches (最大流)
查看>>
dotnetcore+vue+elementUI 前后端分离 三(前端篇)
查看>>
gdb输入输出重定向
查看>>
包含.h就可以用其对应的函数
查看>>
mysql忘记root密码的处理方法
查看>>
Newtonsoft.Json之JArray, JObject, JProperty,JValue
查看>>
OO Summary (Homework 9-11)
查看>>
fedora 解决yumBackend.py进程CPU占用过高
查看>>
NTP 协议介绍
查看>>
软件测试 · 白盒测试
查看>>