70. Climbing Stairs
来源:互联网 发布:管理业务员的软件 编辑:程序博客网 时间:2024/04/26 13:54
题目:
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?
思路:这个问题的本质就是一个斐波那契问题,想到这个之后就想用递归来解决。但是后来想到《剑指offer》里面提到递归的方式耗时太长,有时间复杂度更小的解法。
代码如下:
public class Solution { public int climbStairs(int n) { //处理特殊情况 if(n < 1){ return 0; }else if(n == 1){ return 1; }else if(n == 2){ return 2; } int count = 0; int count1 = 1; int count2 = 2; int i; for(i = 3; i <= n; i++){ count = count1 + count2; count1 = count2; count2 = count; } return count; }}
【注】
由于leetcode上面设置的返回值类型时int,因此在这里我设置的变量也是int,不然保险起见个人认为至少定义成long。
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
- java 泛型原理
- windows命令行下查看进程号
- 《代码整洁之道》之旅(1)——序言、目录、第1章:整洁代码
- 在java中如何实现C#语法里的按引用传递参数
- Apache Spark Machine Learning Tutorial
- 70. Climbing Stairs
- linux配置java环境变量(详细)
- NSString和NSMutableString以及字符串常用方法
- Android沉浸式效果实现
- ASP.NET - Web API,从简单类型到复杂类型的参数传递用例,以及传递简单string类型的解决办法
- $.ajax()方法详解
- 2016年生活工作安排
- iOS开发系列--通讯录、蓝牙、内购、GameCenter、iCloud、Passbook系统服务开发汇总
- 【ZYNQ-7000开发之十二】中断:PS接收来自PL的中断