算法-爬楼梯

简介: 如果爬楼梯可以一次爬 1 级或是一次爬 2 级 输入:楼梯的总级数 输出:一共可能有多少种爬法? 难度:简单例: 输入:2 输出:2 ① 1 + 1 ② 2输入:3 输...

如果爬楼梯可以一次爬 1 级或是一次爬 2 级
输入:楼梯的总级数
输出:一共可能有多少种爬法?
难度:简单

例:
输入:2
输出:2
① 1 + 1
② 2

输入:3
输出:3
① 1 + 1 + 1
② 2 + 1
③ 1 + 2

答案:
这道题可以使用动态规划的思想解决

这里写图片描述

class Solution {
    static int[] results = new int[10000];

    public int climbStairs(int n) {
        if(n <= 0) return 0;
        if(n == 1) return 1;
        if(n == 2) return 2;
        if(results[n - 1] == 0) results[n - 1] = climbStairs(n - 1);
        if(results[n - 2] == 0) results[n - 2] = climbStairs(n - 2);
        return results[n - 1] + results[n - 2];
    }
}

其实这道题的实质就是求斐波那契数列
使用简单的 for 循环也可以解决(这同样是动态规划思想)

class Solution {
    public int climbStairs(int n) {
        if(n <= 0) return 0;
        if(n == 1) return 1;
        int pre = 1;
        int cur = 2;
        for(int i = 2;i < n; i++){
            int tmp = cur;
            cur = cur + pre;
            pre = tmp;
        }
        return cur;
    }
}
目录
相关文章
|
存储 算法 Java
算法学习入门Day1_Leetcode_70 爬楼梯 ~还是辣么滴丝滑 雀氏润
算法学习入门Day1_Leetcode_70 爬楼梯 ~还是辣么滴丝滑 雀氏润
算法学习入门Day1_Leetcode_70 爬楼梯 ~还是辣么滴丝滑 雀氏润
|
算法 JavaScript 前端开发
图解算法 | LeetCode第 70 题爬楼梯问题
图解算法 | LeetCode第 70 题爬楼梯问题
148 0
|
算法
leetcode算法70.爬楼梯
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?本文带大家解决这个问题。
127 0
leetcode算法70.爬楼梯
☆打卡算法☆LeetCode 70、爬楼梯 算法解析
“假设你在爬楼梯,需要n阶到达楼顶,每次可以怕1到2阶,有多少种方法爬到楼顶呢。”
|
算法
算法题每日一练---第38天:爬楼梯的最少成本
请找出达到楼层顶部的最低花费。在开始时,你可以选择从下标为 0 或 1 的元素作为初始阶梯。
141 0
算法题每日一练---第38天:爬楼梯的最少成本
|
算法 Java C#
【小Y学算法】⚡️每日LeetCode打卡⚡️——22.爬楼梯
📢前言 🌲原题样例 🌻C#方法:动态规划 🌻Java 方法一:动态规划 🌻Java 方法二:矩阵快速幂 💬总结 🚀往期优质文章分享
【小Y学算法】⚡️每日LeetCode打卡⚡️——22.爬楼梯
|
算法 测试技术 索引
一步一步写算法(之爬楼梯)
原文: 一步一步写算法(之爬楼梯) 【 声明:版权所有,欢迎转载,请勿用于商业用途。  联系信箱:feixiaoxing @163.com】     前两天上网的时候看到一个特别有意思的题目,在这里和朋友们分享一下:     有一个人准备开始爬楼梯,假设楼梯有n个,这个人只允许一次爬一个楼梯或者一次爬两个楼梯,请问有多少种爬法?     在揭晓答案之前,朋友们可以自己先考虑一下:     这个人爬n层楼梯,那么它也不是一下子就可以爬这么高的,他只有两个选择,要么从n-2层爬过来,要么从n-1层爬过来。
755 0
|
17天前
|
算法 安全 数据安全/隐私保护
基于game-based算法的动态频谱访问matlab仿真
本算法展示了在认知无线电网络中,通过游戏理论优化动态频谱访问,提高频谱利用率和物理层安全性。程序运行效果包括负载因子、传输功率、信噪比对用户效用和保密率的影响分析。软件版本:Matlab 2022a。完整代码包含详细中文注释和操作视频。
|
2天前
|
算法 数据挖掘 数据安全/隐私保护
基于FCM模糊聚类算法的图像分割matlab仿真
本项目展示了基于模糊C均值(FCM)算法的图像分割技术。算法运行效果良好,无水印。使用MATLAB 2022a开发,提供完整代码及中文注释,附带操作步骤视频。FCM算法通过隶属度矩阵和聚类中心矩阵实现图像分割,适用于灰度和彩色图像,广泛应用于医学影像、遥感图像等领域。
下一篇
无影云桌面