「LeetCode」70-爬楼梯⚡️

简介: 「LeetCode」70-爬楼梯⚡️

image.png

前言🌧️


算法,对前端人来说陌生又熟悉,很多时候我们都不会像后端工程师一样重视这项能力。但事实上,算法对每一个程序员来说,都有着不可撼动的地位。


因为开发的过程就是把实际问题转换成计算机可识别的指令,也就是《数据结构》里说的,「设计出数据结构,在施加以算法就行了」。


编写指令的好坏,会直接影响到程序的性能优劣,而指令又由数据结构和算法组成,所以数据结构和算法的设计基本上决定了最终程序的好坏


题目🦀



70. 爬楼梯


难度简单


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


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


示例 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

解题思路🌵



  • 由于是叠加问题
  • 采用动态规划来解决此类问题


解题步骤🐂



  • 先确定好dep的规律
  • 当前台阶的走法就等于dep[n-2]+dep[n-1]
  • 循环遍历即可求解


源码🔥



/**
 * @param {number} n
 * @return {number}
 */
var climbStairs = function(n) {
 let dep =[1,1]
    for(let i=2;i<=n;i++){
        dep[i]=dep[i-1]+dep[i-2]
    }
    return dep[n]
};

时间复杂度:O(n) (n为字符串的长度)


空间复杂度:O(1)


结束语🌞


image.png


那么鱼鱼的LeetCode算法篇的「LeetCode」70-爬楼梯⚡️就结束了,算法这个东西没有捷径,只能多写多练,多总结,文章的目的其实很简单,就是督促自己去完成算法练习并总结和输出,菜不菜不重要,但是热爱🔥,喜欢大家能够喜欢我的短文,也希望通过文章认识更多志同道合的朋友,如果你也喜欢折腾,欢迎加我好友,一起沙雕,一起进步

相关文章
|
6月前
|
算法
leetcode热题100.三数之和
leetcode热题100.三数之和
36 1
|
6月前
|
算法 C++ 机器人
力扣 C++|一题多解之动态规划专题(1)
力扣 C++|一题多解之动态规划专题(1)
61 0
力扣 C++|一题多解之动态规划专题(1)
|
6月前
|
C++ 算法 存储
力扣 C++|一题多解之动态规划专题(2)
力扣 C++|一题多解之动态规划专题(2)
61 0
力扣 C++|一题多解之动态规划专题(2)
蓝桥杯备赛leetcode 70.爬楼梯,用最经典的题目来讲解动态规划
题目描述 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼梯顶部呢?
蓝桥杯备赛leetcode 70.爬楼梯,用最经典的题目来讲解动态规划
爬楼梯(LeetCode-70)
爬楼梯(LeetCode-70)
93 0
|
算法 前端开发 程序员
「LeetCode」54-螺旋矩阵⚡️
「LeetCode」54-螺旋矩阵⚡️
132 0
「LeetCode」54-螺旋矩阵⚡️
|
算法 前端开发 程序员
「LeetCode」53-最大子数组和⚡️
「LeetCode」53-最大子数组和⚡️
112 0
「LeetCode」53-最大子数组和⚡️
|
算法 前端开发 程序员
「LeetCode」18-四数之和⚡️
「LeetCode」18-四数之和⚡️
126 0
「LeetCode」18-四数之和⚡️