zoukankan      html  css  js  c++  java
  • Leetcode Climbing Stairs

    You are climbing a stair case. It takes n steps to reach to the top.

    Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?

    熟悉斐波那契数列的一看就知道斐波那契数列是0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ...

    其通项是f[k] = f[k-1]+f[k-2],k>=2

    其中f[0] = 0, f[1] = 1;

    而此题类似斐波那契数但初始值有点不同

    f[0] = 0, f[1]= 1, f[2] = 2, 对其迭代就行

    int climbStairs(int n){
        if(n == 0 || n == 1 || n == 2) return n;
        int stepOne = 1, stepTwo = 2, result = 0;
        for(int i = 3; i <= n ; ++ i){
            result = stepOne + stepTwo;
            stepOne = stepTwo;
            stepTwo = result;
        }
        return result;
    }
  • 相关阅读:
    getfacl语法2
    getfacl
    setfacl语法2
    setfacl语法
    特殊权限语法2
    特殊权限语法
    vim语法
    locate语法
    find语法
    dos语法
  • 原文地址:https://www.cnblogs.com/xiongqiangcs/p/3803156.html
Copyright © 2011-2022 走看看