1:题目地址

链接

2:解题思路:

斐波拉切数列

3:Java实现

  1. public int climbStairs(int n) {
  2. int a = 1;
  3. int b = 1;
  4. int result = 1;
  5. for (int x = 2; x <= n; x++) {
  6. result = a + b;
  7. a = b;
  8. b = result;
  9. }
  10. return result;
  11. }

4:Go实现

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

5:后记

用水题找回自信和心态是暂时的,难啃的题目还是要继续!