📑 题目:70. 爬楼梯

🚀 本题 LeetCode 传送门

题目大意

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数

解题思路

  • 简单的 DP,经典的爬楼梯问题。一个楼梯可以由 n-1n-2 的楼梯爬上来。
  • 这一题求解的值就是斐波那契数列。

代码

  1. package leetcode
  2. func climbStairs(n int) int {
  3. dp := make([]int, n+1)
  4. dp[0], dp[1] = 1, 1
  5. for i := 2; i <= n; i++ {
  6. dp[i] = dp[i-1] + dp[i-2]
  7. }
  8. return dp[n]
  9. }