image.png

  1. function fib(n: number): number {
  2. if (n < 1) return 0;
  3. if (n == 1 || n == 2) return 1;
  4. let pre = 1;
  5. let cur = 1;
  6. for (let i = 3; i <= n; i++) {
  7. let sum = pre + cur;
  8. pre = cur;
  9. cur = sum;
  10. }
  11. return cur;
  12. };

相似题目1

image.png

function climbStairs(n: number): number {
    let pre = 0;
    let cur = 0;
    let res = 1;
    for (let i = 0; i < n; i++) {
        pre = cur;
        cur = res;
        res = pre + cur;
    }
    return res;
};

相似题目2

image.png

function minCostClimbingStairs(cost: number[]): number {
    let dp = new Array(cost.length);
    let pre = cost[0];
    let cur = cost[1];
    for (let i = 2; i < cost.length; i++) {
        let res  = Math.min(pre, cur) + cost[i];
        pre = cur;
        cur = res;
    }
    return Math.min(cur,pre);
};