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,一经查实,立即删除!

相关文章

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

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

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…

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确…

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

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

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

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

图解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;用…

初探ArrayList之删除

1.返回删除元素的删除方法 public E remove(int index) {rangeCheck(index);modCount;//记录修改次数的变量E oldValue elementData(index);//根据数组下标拿到指定元素int numMoved size - index - 1;//计算移动位数if (numMoved > 0)System.arraycopy(elementData, inde…

java的三大特性,封装,继承,多态

封装 Java代码 /** * 所谓封装&#xff0c;就是将对象具有的成员变量和成员函数包装和隐藏起来&#xff0c;让外界无法直接使用&#xff0c; * 被封装的成员只能通过某些特定的方式才能访问。 * 实现封装有两个步骤&#xff1a; * 1、将不能暴露的成员隐藏起来&#x…

GetModuleHandle(NULL)获取当前DLL模块基址?

做一项目想在DLL内部代码实现获取本DLL的模块基址&#xff0c;而且不知道本DLL名称 最简单的方法是想到GetModuleHandle(NULL)&#xff0c;是否可以呢? 参看http://blog.csdn.net/guzhou_diaoke/article/details/8826558到的答案是否 自己尝试了一下: DLL代码(testDll): BOOL …

【评分】第三次作业-团队展示

【评分】第三次作业-团队展示 总结 【2017-10-10】更新&#xff1a; 分数映射至 [1,2] 分 【注意】&#xff1a; 为了保护大家隐私&#xff0c;以后发表博客&#xff1a; 涉及到学号时&#xff0c;仅提供后三位涉及到姓名时&#xff0c;仅提供名&#xff08;省略姓&#xff09;…

【朴灵评注】JavaScript 运行机制详解:再谈Event Loop

PS: 我先旁观下大师们的讨论&#xff0c;得多看书了~别人说的&#xff1a;“看了一下不觉得评注对到哪里去&#xff0c;只有吹毛求疵之感。 比如同步异步介绍&#xff0c;本来就无大错&#xff1b;比如node图里面的OS operation&#xff0c;推敲一下就可以猜到那是指同步操作&a…

Python版——博客网站四 编写日志创建页

2019独角兽企业重金招聘Python工程师标准>>> 开源地址&#xff1a;https://github.com/leebingbin/Python3.WebAPP.Blog 单从编码来说&#xff0c;WebApp开发真正困难的地方在于编写前端页面。前端页面需要混合HTML、CSS和JavaScript&#xff0c;如果对这三者没有深…

2017—2018 实验报告:实验一

实验一&#xff1a;实验报告 课程&#xff1a;程序设计与数据结构 班级&#xff1a; 1623 姓名&#xff1a; 张旭升 学号&#xff1a;20162329 指导教师&#xff1a;娄嘉鹏 王志强 实验日期&#xff1a;9月25日 实验密级&#xff1a; 非密级 预习程度&#xff1a; 已预习 必修/…

iOS开发 - Swift实现清除缓存功能

前言: 开发移动应用时&#xff0c;请求网络资源是再常见不过的功能。如果每次都去请求&#xff0c;不但浪费时间&#xff0c;用户体验也会变差&#xff0c;所以移动应用都会做离线缓存处理&#xff0c;其中已图片缓存最为常见。 但是时间长了&#xff0c;离线缓存会占用大量的…

如何开启IIS7以上的“IIS6管理兼容性”

护卫神PHP套件的安装&#xff0c;需要开启“IIS6管理兼容性”&#xff0c; 那么&#xff0c;如何开启IIS7、IIS7.5、IIS8.0的IIS6兼容模式呢&#xff1f; 设置的时候&#xff0c;请参照如下截图&#xff1a; 本文转自黄聪博客园博客&#xff0c;原文链接&#xff1a;http://www…

ssh服务端口转发详解

端口转发的概念和应用什么是端口转发呢&#xff0c;我们知道&#xff0c;SSH 会自动加密和解密所有 SSH 客户端与服务端之间的网络数据。但是&#xff0c;SSH 还同时提供了一个非常有用的功能&#xff0c;这就是端口转发。它能够将其他 TCP 端口的网络数据通过 SSH 链接来转发&…

布局管理器android,Android课程---布局管理器之相对布局(一)

下面示例的是在父容器里如何设置按钮的位置&#xff0c;难度&#xff1a;***&#xff0c;重点是找到一个主按钮&#xff0c;设置它的id&#xff0c;然后根据它来设置其他按钮在父容器的位置。代码示例&#xff1a;android:layout_width"match_parent"android:layout_…