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

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

Climbing Stairs

You are climbing a stair case. It takes n steps to reach to the top.

递归法

说明

state: f[i] 表示爬到第i个楼梯的所有方法的和

function: f[i] = f[i-1] + f[i-2] //因为每次走一步或者两步, 所以f[i]的方法就是它一步前和两步前方法加和
initial: f[0] = 0; f[1] = 1
end : return f[n]

复杂度

时间O(n) 空间O(n)

代码

public int climbStairs(int n) {    int[] dp = new int[n + 1];    dp[0] = 1;    dp[1] = 1;    for (int i = 2; i <= n; i++) {        dp[i] = dp[i - 1] + dp[i - 2];    }    return dp[n];    }

复杂度

时间O(n) 空间O(1)

代码

public int climbStairs(int n) {    if (n == 0 || n == 1 || n == 2){        return n;    }    int [] sum = new int [3];    sum[1] = 1;    sum[2] = 2;    for (int i =3; i <= n; i++) {        sum[i%3] = sum[(i-1)%3] + sum[(i-2)%3];    }    return sum[n%3];}

转载地址:http://toiql.baihongyu.com/

你可能感兴趣的文章
yii2.0-rules验证规则应用实例
查看>>
读书笔记:参数传递的那些事
查看>>
11个实用的CSS学习工具[转载收藏]
查看>>
key寻址算法
查看>>
编译原理first集和follow集的求法
查看>>
Dell R420 RAID建立以及系统安装
查看>>
python迭代器
查看>>
as3.0服务端FMS软件常用的方法与属性参考示例
查看>>
二叉树后序遍历<非递归>
查看>>
[POI2014]Rally
查看>>
hibernate.properties
查看>>
leetcode986
查看>>
swift 实践- 11 -- UISlider
查看>>
聪聪可可【国家集训队】
查看>>
二维数组的连续子数组的最大和
查看>>
DirectX11 SDK 下载地址
查看>>
solr4.5分组查询、统计功能介绍
查看>>
大一ACM心得总结
查看>>
一个线上问题的深思
查看>>
Spring Boot中集成Spring Security 专题
查看>>