算法:爬楼梯 - Swift

  • 题目:你正在爬楼梯。需要 n 步你才能到达顶部。
    每次你可以爬 1 或 2 个台阶。你有多少种不同的方式可以爬到楼顶呢?

  • 题解:

func dyclimbStairs(_ n: Int) -> Int {
    // 边界
    if n == 1 || n == 2{
        return n
    }
    // 子
    var dp = [1,1,2]
    for i in 3 ... n {
        // 动态方程
        dp.append(dp[i-1] + dp[i-2])
    }
    return dp[n-1]
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢...
    akkaMQ阅读 1,174评论 0 2
  • LeetCode初级算法--动态规划01:爬楼梯 搜索微信公众号:'AI-ming3526'或者'计算机视觉这件小...
    xiaoming3526阅读 335评论 0 0
  • 写在前沿:本文代码均使用C语言编写 Description:假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可...
    小黄大大阅读 293评论 0 0
  • 题目 (https://leetcode-cn.com/problems/climbing-stairs/)假设你...
    Mastergad阅读 380评论 0 3
  • 最近重拾leetcode的感觉,在工作之余添加点乐趣,决定以后每周刷4个题,尽量都更新上来,和大家一起分享,共同进...
    胡小菜阅读 362评论 0 0