专栏首页木又AI帮打卡群2刷题总结1014——爬楼梯

打卡群2刷题总结1014——爬楼梯


leetcode第70题:爬楼梯

https://leetcode-cn.com/problems/climbing-stairs/


【题目】

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。

每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?

注意:给定 n 是一个正整数。

示例 1:
输入: 2
输出: 2
解释: 有两种方法可以爬到楼顶。
1.  1 阶 + 1 阶
2.  2 阶

示例 2:
输入: 3
输出: 3
解释: 有三种方法可以爬到楼顶。
1.  1 阶 + 1 阶 + 1 阶
2.  1 阶 + 2 阶
3.  2 阶 + 1 阶

【思路】

爬到第i步台阶,最后一步可能是从第i-1步台阶爬1个台阶,也可能是从第i-2步台阶排2个台阶。

我们使用dp数组存储,dp[i]表示爬到第i步台阶可能的方法总数,那么dp[i] = dp[i - 1] + dp[i - 2]。

【代码】

python版本

class Solution:
    def climbStairs(self, n: int) -> int:
        if n < 3:
            return n
        
        # dp[i] = dp[i-1] + dp[i-2]
        dp = [1, 2]
        for i in range(2, n):
            dp.append(dp[i - 1] + dp[i - 2])
        return dp[-1]

【相似题目】

509. 斐波那契数

解题思路:和本题完全一样,只是题目不同。

746. 使用最小花费爬楼梯

解题思路:dp[i]表示爬到第i步台阶的最小花费,dp[i] = min(dp[i - 1] + cost[i - 1], dp[i - 2] + cost[i - 2])。

本文分享自微信公众号 - 木又AI帮(gh_eaa31cab4b91),作者:木又

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-10-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 打卡群刷题总结0601

    链接:https://leetcode-cn.com/problems/valid-anagram/

    木又AI帮
  • 打卡群2刷题总结1008——环形链表

    https://leetcode-cn.com/problems/linked-list-cycle/

    木又AI帮
  • 打卡群2刷题总结1007——反转链表

    https://leetcode-cn.com/problems/reverse-linked-list/

    木又AI帮
  • 打卡群2刷题总结1005——有效的括号

    https://leetcode-cn.com/problems/valid-parentheses/

    木又AI帮
  • 打卡群刷题总结0723——组合

    链接:https://leetcode-cn.com/problems/combinations

    木又AI帮
  • 打卡群刷题总结0724——子集

    链接:https://leetcode-cn.com/problems/subsets

    木又AI帮
  • 打卡群刷题总结0919——打家劫舍

    链接:https://leetcode-cn.com/problems/house-robber

    木又AI帮
  • 打卡群刷题总结0826——组合总和

    链接:https://leetcode-cn.com/problems/combination-sum

    木又AI帮
  • 打卡群2刷题总结1002——搜索插入位置

    https://leetcode-cn.com/problems/search-insert-position/

    木又AI帮
  • 【小Y学算法】⚡️每日LeetCode打卡⚡️——22.爬楼梯

    呆呆敲代码的小Y
  • 打卡群刷题总结0607——移动零

    链接:https://leetcode-cn.com/problems/move-zeroes

    木又AI帮
  • 打卡群刷题总结0709—— Pow(x, n)

    链接:https://leetcode-cn.com/problems/powx-n

    木又AI帮
  • 打卡群刷题总结0922——丑数 II

    链接:https://leetcode-cn.com/problems/ugly-number-ii

    木又AI帮
  • 打卡群刷题总结1008——加油站

    链接:https://leetcode-cn.com/problems/gas-station

    木又AI帮
  • 打卡群刷题总结0920——打家劫舍 II

    链接:https://leetcode-cn.com/problems/house-robber-ii

    木又AI帮
  • 打卡群刷题总结0827——组合总和 II

    链接:https://leetcode-cn.com/problems/combination-sum-ii

    木又AI帮
  • 打卡群刷题总结1001——组合总和 Ⅳ

    链接:https://leetcode-cn.com/problems/combination-sum-iv

    木又AI帮
  • 打卡群刷题总结0812——路径总和 II

    链接:https://leetcode-cn.com/problems/path-sum-ii

    木又AI帮
  • 动态规划:爬楼梯

    所以到第三层楼梯的状态可以由第二层楼梯 和 到第一层楼梯状态推导出来,那么就可以想到动态规划了。

    代码随想录

扫码关注云+社区

领取腾讯云代金券