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

LeetCode|Day27|70. 爬楼梯|Python刷题笔记

LeetCode|Day27|70. 爬楼梯|Python刷题笔记

🗓️ 本文属于【LeetCode 简单题百日计划】系列
👉 点击查看系列总目录 >>


📌 题目简介

题号:70. 爬楼梯
难度:简单
题目链接:点击跳转


🧾 题目描述

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 12 个台阶。
问有多少种不同的方法可以爬到楼顶?

示例:

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

💡 解法:动态规划(斐波那契)

class Solution:def climbStairs(self, n: int) -> int:# 边界情况if n <= 2:return n# 初始前两个台阶方法数a, b = 1, 2for _ in range(3, n + 1):a, b = b, a + b  # 状态转移return b

🧠 我的理解

  • 当前台阶的方法数等于前一阶方法数 + 前两阶方法数;
  • 属于经典的动态规划问题(实际就是斐波那契数列);
  • 初始时,1 阶有 1 种爬法,2 阶有 2 种。

📌 基础语法复习:

  • 多变量赋值:a, b = b, a + b 是状态更新;
  • range(start, end):生成指定区间的数列;
  • 本题是动态规划中最基础的“状态转移 + 边界初始化”类型题。

📌 返回总目录:点我回目录

http://www.xdnf.cn/news/16600.html

相关文章:

  • print(“\033[31m红\033[32m绿\033[34m蓝\033[0m默认色“)
  • Java学习-------外观模式
  • [spring6: Mvc-异步请求]-源码分析
  • LINUX727 磁盘管理回顾1;配置文件回顾
  • 机械学习初识--什么是机械学习--机械学习有什么重要算法
  • 习题综合练习
  • 数据结构基础内容(第二篇:线性结构)
  • Qt 分裂布局:QSplitter 使用指南
  • 07.4-使用 use 关键字引入路径
  • python中的容器与自定义容器
  • SpringBoot多容器化实例实战
  • FFmpeg——参数详解
  • 墨者:通过手工解决SQL手工注入漏洞测试(MongoDB数据库)
  • C++学习(线程相关)
  • 负载均衡Haproxy
  • SABR-Net
  • uniapp input 聚焦时键盘弹起滚动到对应的部分
  • iOS安全和逆向系列教程 第21篇:iOS应用加密与混淆技术深度剖析
  • Java面试宝典:MySQL性能优化
  • 用 ESP32 和 LCD 轻松显示植物湿度
  • 第十八章:AI的“通感”:揭秘图、文、音的共同语言——CLIP模型
  • 系统整理Python的循环语句和常用方法
  • Keil MDK 嵌入式开发问题:Error: L6218E: Undefined symbol HAL_TIM_PWM_ConfigChannel
  • GIt学习——分布式版本控制工具
  • 设计模式(八)结构型:桥接模式详解
  • 设计模式(七)结构型:适配器模式详解
  • 【网络协议安全】任务15:DHCP与FTP服务全配置
  • 安装Selenium⾃动化
  • PiscCode使用OpenCV实现漂浮方块特效
  • 三种常用的抗锯齿