LeetCode:爬楼梯
未完待续
题目
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。
每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?
注意:给定 n 是一个正整数。
示例 1:
1 | 输入: 2 |
示例 2:
1 | 输入: 3 |
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/climbing-stairs
代码
Go
代码一:大数据执行超时
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27package main
import "fmt"
func climbStairs(n int) int {
var r int
if n-2 > 0 {
r += climbStairs(n - 2)
}
if n-1 > 0 {
r += climbStairs(n - 1)
}
if n-2 == 0 || n-1 == 0 {
return r + 1
}
return r
}
func main() {
fmt.Println(climbStairs(1))
fmt.Println(climbStairs(2))
fmt.Println(climbStairs(3))
}