news 2026/5/14 17:23:42

爬楼梯动态规划法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
爬楼梯动态规划法

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

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

  1. 问题分析:

    • 每次可以爬 1 或 2 个台阶
    • 要爬到 n 阶台阶,有多少种不同的方法
  2. 思路推导:

    • 爬到第 n 阶台阶,最后一步只能是从 n-1 阶爬 1 阶,或者从 n-2 阶爬 2 阶
    • 所以递推关系是:f (n) = f (n-1) + f (n-2)
    • 边界条件:f (1) = 1(只有 1 种方法),f (2) = 2(两种方法)

class Solution {
public:
int climbStairs(int n) {
// 处理边界情况
if(n <= 2) return n;

// 动态规划解法,使用变量存储前两个状态,节省空间
int prev_prev = 1; // f(n-2)
int prev = 2; // f(n-1)
int current; // f(n)
for(int i = 3; i <= n; i++){
current = prev + prev_prev;
prev_prev = prev;
prev = current;
}

return prev;
}
};

  1. 添加了#include <iostream>using namespace std;以支持输入输出操作
  2. 编写了main函数,实现用户交互
  3. 添加了输入合法性检查,确保输入在题目要求的 1-45 范围内
  4. 实例化了Solution类并调用climbStairs方法进行计算
  5. 输出了清晰的结果提示

这种解法的时间复杂度是 O (n),空间复杂度是 O (1),因为我们只使用了有限的几个变量来存储中间结果,而没有使用数组。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/14 16:29:41

LobeChat能否部署在树莓派上?边缘设备运行可行性测试

LobeChat 能否部署在树莓派上&#xff1f;边缘设备运行可行性深度实测 你有没有想过&#xff0c;用一台百元级的树莓派&#xff0c;搭出一个完全离线、不联网也能对话的大模型助手&#xff1f;不需要依赖 OpenAI 云服务&#xff0c;所有聊天记录都留在家里&#xff0c;还能语音…

作者头像 李华
网站建设 2026/5/12 5:45:10

飞桨深度学习入门:从安装到模型训练

飞桨深度学习入门&#xff1a;从安装到模型训练 在人工智能技术加速落地的今天&#xff0c;越来越多开发者开始接触深度学习。但面对复杂的框架选择、环境配置和模型调试&#xff0c;不少人仍感到无从下手。有没有一个既强大又易用、兼顾科研与产业需求的国产工具&#xff1f;…

作者头像 李华
网站建设 2026/5/13 14:40:44

Ubuntu下vLLM 0.11.0精准安装指南

Ubuntu下vLLM 0.11.0精准安装指南 在大模型推理部署的实战中&#xff0c;性能与稳定性的平衡始终是工程团队关注的核心。传统基于 HuggingFace Transformers 的 generate() 方式虽然上手简单&#xff0c;但在高并发、长上下文场景下显存利用率低、吞吐量瓶颈明显&#xff0c;难…

作者头像 李华
网站建设 2026/5/12 15:24:56

USB设备VID与PID对照表

USB设备VID与PID对照表 在AIGC硬件加速趋势日益明显的今天&#xff0c;越来越多的AI模型正从纯软件部署走向专用外设形态。像文本到视频生成引擎这类高实时性任务&#xff0c;已开始以USB边缘计算棒、AI视觉模块的形式出现在开发者面前。这些设备虽然功能新颖&#xff0c;但在…

作者头像 李华