当前位置: 首页 > article >正文

leetCode算法题爬楼梯递归写法

题目:

假设你正在爬楼梯。需要 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 阶

解题思路:

递归解法

走楼梯问题可以描述为:给定一个楼梯有n阶,每次可以爬1阶或2阶,问有多少种不同的方法可以爬到楼顶。

递推关系可以通过观察得出:设f(x)表示爬到第x阶楼梯的方法数,那么最后一步可以从第x-1阶爬1阶上来,或者从第x-2阶爬2阶上来,因此有递推关系:

f(x) = f(x-1) + f(x-2)


/**
 * @author shenwang
 * @description 走楼梯算法
 * @date 2024-10-07 22:34
 */
public class CalTest {

    public static void main(String[] args) {
        System.out.printf("答案:"+calTop(6));
    }

    public static  int cal(int level){

        if (level < 3){
           return level;
        }

        int planACount = cal(level - 1);
        int planBCount = cal(level - 2);

        return planACount+planBCount;
    }


http://www.kler.cn/news/366588.html

相关文章:

  • 基于大模型的招聘智能体:从创意到MVP
  • C++/QT可用的websocket库
  • ubuntu22.04安装qemu-9.1并在i.MX6上运行linux kernel 6.11
  • AutoSar AP CM服务接口级别的数据类型总结
  • java项目之基于web的智慧社区设计与实现(springboot)
  • bitpoke- mysql-operator cluster
  • MySQL-事务隔离级别
  • 不用一行代码,手把手叫你创作一款旅游类智能体!
  • CANFD SSP第二采样点引发的“风波”分析
  • 完美解决phpstudy安装后mysql无法启动
  • React六官方文档总结三脱围机制
  • 关闭容器 禁用docker自启动 卸载docker
  • go 使用fyne实现桌面程序的计算器例子
  • 2024年土建施工员考试题库及答案
  • Android常用C++特性之std::piecewise_construct
  • Java基础(7)图书管理系统
  • 网站渗透常识
  • Modern CMake 简明教程(8)- 集成Qt
  • lua while循环
  • Linux -- 共享内存(2)
  • 机器学习4
  • ESC服务器被暴力破解如何解决
  • Redis 主从同步 总结
  • 【大数据技术基础 | 实验五】ZooKeeper实验:部署ZooKeeper
  • LDAP 部署手册
  • 每日一题——第一百一十九题