首页 > 其他分享 >leetcode 70. 爬楼梯 js实现

leetcode 70. 爬楼梯 js实现

时间:2022-11-14 01:22:39浏览次数:75  
标签:楼顶 return 复杂度 js let 70 爬楼梯 leetcode dp

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。

每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 

示例 1:

输入:n = 2
输出:2
解释:有两种方法可以爬到楼顶。
1. 1 阶 + 1 阶
2. 2 阶

示例 2:

输入:n = 3
输出:3
解释:有三种方法可以爬到楼顶。
1. 1 阶 + 1 阶 + 1 阶
2. 1 阶 + 2 阶
3. 2 阶 + 1 阶

提示:

  • 1 <= n <= 45

原题链接

/**
 * @param {number} n
 * @return {number}
 */
// 动态规划->滚动数组  空间复杂度成 O(1)
// 也可以直接定义一个 dp 数组,dp[i]=dp[i-1]=dp[i-2],dp[0]=1,dp[1]=1  但是这样空间复杂度为 O(n)
// 时间复杂度 O(n)
var climbStairs = function (n) {
    if (n == 1) {
        return 1;
    }
    if (n == 2) {
        return 2;
    }
    let a = 1; // n=1 就一种方案
    let b = 2; // n=2 就两种方案
    // 找到规律为n级台阶等于 n-1级台阶的方案数+n-2级台阶的方案数
    // 原因为 要上到n级只能一次怕一层或一层爬两层,两种情况,所以将这两种情况下的方案数相加即得到结果
    for (let i = 3; i <= n; i++) {
        // 滚动数组,最终返回 b 即为计算后的结果
        [a, b] = [b, a + b];
    }
    return b;
};

 

标签:楼顶,return,复杂度,js,let,70,爬楼梯,leetcode,dp
From: https://www.cnblogs.com/beileixinqing/p/16887843.html

相关文章

  • leetcode 3. 无重复字符的最长子串
    给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1:输入:s="abcabcbb"输出:3解释:因为无重复字符的最长子串是"abc",所以其长度......
  • LeetCode 167.TowSum
    双指针classSolution{public:vector<int>twoSum(vector<int>&numbers,inttarget){intl=0,r=numbers.size()-1,sum=0;while(l<r){......
  • Servlet+Jsp—查、删
    Servlet+Jsp—查、删从一开始的网络编程(TCP编程对Socket进行监听,到HTTP编程),现在终于可以使用强大的API进行JavaEE编程了,Servlet底层封装了各种网络协议的处理,使我们不再深......
  • 【JS基础】闭包
    概念:闭包是指有权访问另一个函数作用域中的变量的函数。在JS中,只有函数内部的子函数才能读取局部变量,所以闭包可以简单理解成‘定义在一个函数内部的函数’。 ......
  • JSON基础知识
    JSON是一种轻量级的数据交换格式。JSON格式:key:value键值对。JSON的值可以是数字、字符串、BOOL、数组、对象。JSON的优点:数据体积小程序猿编写容易相对XML,JSON不......
  • Java安全之Mojarra JSF反序列化
    Java安全之MojarraJSF反序列化AboutJSFJavaServerFaces,新一代的JavaWeb应用技术标准,吸收了很多JavaServlet以及其他的Web应用框架的特性。JSF为Web应用开发定义了一......
  • #yyds干货盘点# LeetCode 腾讯精选练习 50 题:相交链表
    题目:给你两个单链表的头节点 headA和headB,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回null。图示两个链表在节点c1开始相交:题目数据......
  • LeetCode(1)
    优美子数组将输入的数组逐个取模,得到一个新的数组,计算其前缀和数组子数组(i到j)中如果恰好有K个1,即和为K,那么这个数组就满足了题目要求,有K个奇数数字转化:sum[i]-sum......
  • Leetcode刷题第三周
    字符串:反转字符串344classSolution{publicvoidreverseString(char[]s){//左右指针intleftNode=0;intrifhtNode=s.lengt......
  • ubuntu install rapidjson
    1.Installsudoapt-getinstallrapidjson-dev2.Code#include<algorithm>#include<chrono>#include<ctime>#include<fstream>#include<iostream>#include......