Climbing Stairs

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步时的情况,可以从第n-1个台阶走一步,也可以从第n-2个台阶走两步。即f(n) = f(n-1) + f(n-2),同时f(1) = 1, f(2) = 2.

 

1. 使用递归,结果超时了。

class Solution {
public:int climbStairs(int n) {if(n == 1) return 1;if(n == 2) return 2;else return(climbStairs(n-1) + climbStairs(n-2));}
};
View Code

2. 和斐波那契亚数列差不多,于是用了for循环来代替,2ms。

 1 class Solution {
 2 public:
 3     int climbStairs(int n) {
 4         if(n <= 2) return n;
 5         
 6         int *result = new int[n];
 7         result[0] = 1;
 8         result[1] = 2;
 9         for(int i = 2; i < n; i++)
10             result[i] = result[i-1] + result[i-2];
11             
12         return result[n-1];
13     }
14 };

转载于:https://www.cnblogs.com/amazingzoe/p/4442650.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/257391.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3dmax linux版本,如何安装Linux版FLOW-3D及注意事项

如何安装Linux版FLOW-3D及注意事项安装Linux版的flow3d流程&#xff1a;1、复制flow3d安装CD盘中unix文件夹到Linux系统桌面&#xff1b;(或从CD中直接安装也可以)2、从terminal进入unix文件夹&#xff1b;3、./install或./install_flow3d4、提示是否接受license协议&#xff0…

高级组合技打造“完美” 捆绑后门

0x00 简介 之前写过一篇关于客户端钓鱼的文章&#xff1a;《使用powershell Client进行有效钓鱼》中&#xff0c;在使用各个Client进行测试的过程中&#xff0c;个人发现CHM文件是最好用的一个&#xff0c;但是其缺点就是会弹黑框&#xff0c;这样就会让被攻击者察觉。那么怎么…

使用友盟分享心得(SSO登陆,不能获取accesstoken,不能跳转APPSSO登陆的问题)

在xcode5中plist 文件是默认有 Bundle DisplayName的 而如果工程是在xcode6环境下开发的话。 这时候就会出现友盟无法跳转微博跟QQSSO的问题。 solution&#xff1a;在plist中加入bundle DisplayName 转载于:https://www.cnblogs.com/ZippoatiOS/p/4443933.html

linux单线程处理多个请求,redis是单线程的,如何处理并发请求?

疑问&#xff1a;redis是单线程的&#xff0c;如何并发处理多个请求&#xff1f;下面是我个人的理解。答案是&#xff1a;使用操作系统的多进程机制。也就是我们常说的&#xff0c;多路复用API&#xff0c;多路复用API本质上是对操作系统多路复用功能的封装。什么是操作系统的多…

Cloudera Manager内部结构、功能包括配置文件、目录位置等

2019独角兽企业重金招聘Python工程师标准>>> 问题导读 1.CM的安装目录在什么位置&#xff1f; 2.hadoop配置文件在什么位置&#xff1f; 3.Cloudera manager运行所需要的信息存在什么位置&#xff1f; 4.CM结构和功能是什么&#xff1f; 1. 相关目录 /var/log/cloud…

python 学习笔记(一)

在Windows上安装Python 首先&#xff0c;从Python的官方网站www.python.org下载最新的2.7.9版本&#xff0c;地址是这个&#xff1a; http://www.python.org/ftp/python/2.7.9/python-2.7.9.msi 然后&#xff0c;运行下载的MSI安装包&#xff0c;在选择安装组件的一步时&#x…

An ffmpeg and SDL Tutorial

http://dranger.com/ffmpeg/转载于:https://www.cnblogs.com/qwertWZ/p/4447141.html

linux模式匹配,sed的模式匹配用法探讨

[rootsunsky Desktop]# cat sunskyabcdef[rootsunsky Desktop]# cat sunsky|sed 1,2d|sed 1,2def[rootsunsky Desktop]# cat sunsky|sed -e 1,2d -e 1,2ddef问题&#xff1a;sed中-e的意思是直接在指令列模式上进行sed的动作编辑按照&#xff0c;那么按照-e的含义&#xff0c;上…

Qualcomm QXDM工具简介和log抓取

高通工具简介QXDM 简介QXDM 安装QXDM 激活QXDM 使用AT打开Diagnostic口 QXDM 配置1 Message View ConfigurationMessage PacketsLog PacketsLog PacketsOTAEvent ReportsStrings2 Log View Config3 QXDM-保存配置文件4 QXDM-导入配置文件QPST 端口配置QXDM 抓取log QXDM LOG保存…

layout_gravity

layout_gravity——当前View&#xff0c;本身&#xff0c;在父一级的控件所分配的显示范围内的&#xff0c;对齐方式常用在&#xff1a; 当前控件&#xff08;在父一级LineLayout所分配给其的显示范围内&#xff09;的对齐方式需要注意的是&#xff0c;如果TableRow的gravity确…

Linux_arm_启动_c语言部分详解,[原创]Linux arm 启动 c语言部分详解第四讲

Linux arm启动c语言部分详解第四讲(from setup_per_cpu_areas();)Written by leeming上面的setup_arch花了我们大量的篇幅&#xff0c;现在我们要继续往前推进了。注&#xff1a;黑色为主线&#xff0c;蓝色为函数的一级展开&#xff0c;红色是注意重要的地方。//因为我们没有定…

Kudu1.1.0 、 Kudu1.2.0 Kudu1.3.0的版本信息异同比较

不多说&#xff0c;直接上干货&#xff01; Kudu1.1.0 新特性 python API升级&#xff0c;具备JAVA Cclient一样的功能&#xff08;从0.3版本直接升级到1.1&#xff09;&#xff0c;主要的点如下&#xff1a; 1.1. 改进了Parial Row的语义 1.2. 增加了range partition支持 1.3.…

ASP.NET Web API 中 特性路由(Attribute Routing) 的重名问题

刚才忘了说了&#xff0c;在控制器名重名的情况下&#xff0c;特性路由是不生效的。不然的话就可以利用特性路由解决同名的问题了。 而且这种不生效是真的不生效&#xff0c;不会提示任何错误&#xff0c;重名或者什么的&#xff0c;直接会报告404&#xff0c;所以也是个坑。转…

Python3爬取网页信息乱码怎么解决?(更新:已解决)

更新&#xff1a;乱码问题已经解决了。 将下面代码中的红色部分改为下面这样就不会出现个别职位信息乱码的情况了。 soup2 BeautifulSoup(wbdata2, html.parser,from_encoding"GBK") 另外&#xff1a; 建立了一个微信公众号&#xff0c;主要分享软件视频教程、文档笔…

洗衣机洗涤部分c语言程序,51单片机洗衣机控制板及C语言程序

51单片机洗衣机控制板及C语言程序&#xff0c;该控制板单片机采用AT89C51单片机&#xff0c;所设计全自动洗衣机功能有&#xff1a;标准洗衣、经济洗衣、单独洗衣以及排水四种洗衣等四种方式&#xff0c;有强洗、弱洗及运行/暂停、显示及报警功能,程序利用利用Protues仿真软件观…

数据存储

一、NSCoding &#xff1a; 使用NSCoding需要遵守<NSCoding> 保存&#xff1a; /** * 将某个对象写入文件时会调用 * 在这个方法中说清楚哪些属性需要存储 */ MJStudent.m - (void)encodeWithCoder:(NSCoder *)encoder { [encoder encodeObject:self.no forKey:"…

犯人释放的C语言程序,C语言的自动关机程序和一个用来整人的小程序

可以用C语言中的system()函数来实现系统的自动关机程序&#xff0c;可以设置多长时间后将自动关机。当然马上关机也是可以的&#xff0c;我们就可以恶搞别人计算机了(你事先得知道怎么解)&#xff0c;将写好的自动关机程序复制到别人电脑&#xff0c;然后将可执行的文件设为开机…

[mysql] linux下使用yum安装mysql

From: http://www.2cto.com/database/201207/141878.html linux下使用yum安装mysql1、安装查看有没有安装过&#xff1a;yum list installed mysql*rpm -qa | grep mysql*查看有没有安装包&#xff1a;yum list mysql*安装mysql客户端&#xff1a;yum install mysql安装mysql 服…

图解MapReduceMapReduce整体流程图

1.图解MapReduceMapReduce整体流程图 并行读取文本中的内容&#xff0c;然后进行MapReduce操作 Map过程&#xff1a;并行读取三行&#xff0c;对读取的单词进行map操作&#xff0c;每个词都以<key,value>形式生成 reduce操作是对map的结果进行排序&#xff0c;合并&#…

阿里云推出CloudDBA,解决数据库性能优化和问题诊断难题

问题诊断(trouble shooting) 和 性能优化(performance tunning) 一直都是数据库领域的专业问题&#xff0c;需要资深DBA的专业技能才能胜任解决&#xff0c;但这样的人才是稀缺的&#xff0c;无法及时满足大部分的企业紧急需求。如果有一款产品能够在大多数情况下&#xff0c;用…