闯关leetcode——70. Climbing Stairs

news2024/11/26 22:22:55

大纲

  • 题目
    • 地址
    • 内容
  • 解题
    • 代码地址

题目

地址

https://leetcode.com/problems/climbing-stairs/description/

内容

You are climbing a staircase. It takes n steps to reach the top.

Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?

Example 1:

Input: n = 2
Output: 2
Explanation: There are two ways to climb to the top.

  1. 1 step + 1 step
  2. 2 steps
    Example 2:

Input: n = 3
Output: 3
Explanation: There are three ways to climb to the top.

  1. 1 step + 1 step + 1 step
  2. 1 step + 2 steps
  3. 2 steps + 1 step

Constraints:

  • 1 <= n <= 45

解题

这题其实是一道数学题。假设有个一函数f(x)可以算出当有x个台阶时有几个方案。那么f(1)是1(即一次走1步);f(2)是3(即走2次一步,或者1次两步)。那么f(3)是由:f(2)+走一次1步和f(1)+走1次两步两种情况组成——站在之前方案的台阶上去考虑新的问题。可能有人要问:为什么不是f(1)走2次一步?这是因为f(1)再走一步就到达了f(2),这个方案被包含在f(2)中了。
所以这题最后就是f(n)=f(n-1)+f(n-2),一个斐波那契额数列问题。

class Solution {
public:
    int climbStairs(int n) {
        int prev1 = 1, prev2 = 2;
        if (n == 1) {
            return prev1;
        }
        if (n == 2) {
            return prev2;
        }
        for (int i = 3; i < n; i++) {
            prev2 = prev1 + prev2;
            prev1 = prev2 - prev1;
        }
        return prev1 + prev2;
    }
};

在这里插入图片描述

代码地址

https://github.com/f304646673/leetcode/tree/main/70-Climbing-Stairs

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2204755.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GPT 生成绘画_Java语言例子_超详细

基于spring ai &#xff1a;简化Java AI开发&#xff0c;提升效率与维护性 过去在使用Java编写AI应用时&#xff0c;主要困境在于缺乏统一的标准化封装&#xff0c;开发者需要针对不同的AI服务提供商查阅各自独立的文档并进行接口对接&#xff0c;这不仅增加了开发的工作量&am…

Halcon Tuple数组的增删查改

read_image (Image33, E:/Halcon数据/资源图片/33.png) dev_get_window (WindowHandle) dev_set_draw (margin) get_image_size (Image33, Width, Height) query_font (WindowHandle, Font) FontWithSize : Font[0]-30 set_font (WindowHandle, FontWithSize) 增加 NewTT1T2 …

学习如何将Spring Boot Jar包注册成Windows服务

​ 博客主页: 南来_北往 系列专栏&#xff1a;Spring Boot实战 在开发Spring Boot应用时&#xff0c;我们通常通过命令行或IDE手动启动项目。然而&#xff0c;在生产环境中&#xff0c;为了提升效率和稳定性&#xff0c;我们更希望应用能够自动启动&#xff0c;并且作为Wi…

2024年软件设计师中级(软考中级)详细笔记【5】软件工程基础知识上(分值10+)

第5章软件工程 目录 前言第5章 软件工程基础知识&#xff08;上&#xff09;&#xff08;分值10&#xff09;5.1 软件工程概述5.1.4 软件过程 5.2 软件过程模型5.2.1 瀑布模型 (Waterfall Model)5.2.2 增量模型5.2.3 演化模型5.2.4 喷泉模型&#xff08;Water Fountain Model&a…

java继承-cnblog

类的继承 继承本身 一个类要继承另一个类需要使用关键字extends 关键字extends的使用 class a extend b{}由于java只支持单继承&#xff0c;所以同时继承多个父类是错误的 在创造子类对象时&#xff0c;会先执行父类的构造方法&#xff0c;再执行子类的构造方法 举例说明 …

Linux 云服务器部署kafka(单机版)

进入对应安装目录 cd /usr/local/ 下载对应的安装包 wget https://downloads.apache.org/kafka/3.8.0/kafka_2.13-3.8.0.tgz 解压缩 tar zxf kafka_2.13-3.8.0 进入安装目录 cd /usr/local/kafka_2.13-3.8.0/ 修改配置文件 vim ./config/server.properties 主要修改…

Flexbox弹性盒子详解

弹性盒子模型详解 Flex弹性盒子模型详解Flex布局的基本概念Flex布局的常见属性及用法1. 主轴方向2. 主轴换行方式3. flex-flow&#xff08;分开写更好&#xff09;4. 主轴对齐方式5. 侧轴对齐方式5.1 一行的情况5.2 多行的情况 6. 伸缩性6.1 flex-basis6.2 flex-grow&#xff0…

常州威雅学校:课外拓展活动 用热爱营造无限可能

作为全人教育理念的躬行实践&#xff0c;常州威雅中小学部的课外拓展活动&#xff08;E&X&#xff09;也伴随着初秋温和的风紧锣密鼓地铺展开来。 常州威雅为中小学部的学生们提供了几十项的课外拓展活动&#xff0c;从入门到进阶&#xff0c;展现了艺术、音乐、体育、科技…

YOLO11模型训练 | 目标检测与跟踪 | 实例分割 | 关键点姿态估计

前言 本文分享YOLO11的模型推理&#xff0c;检测任务包括物体分类、目标检测与跟踪、实例分割 、关键点姿态估计、旋转目标检测等。 安装方式支持&#xff1a;默认的使用pip进行安装&#xff1b;也支持直接调用YOLO11源码&#xff0c;灵活便捷修改源码。 本文支持自定义数据…

2024红队必备工具列表总结_railgun工具

一、信息收集 1、AppInfoScanner 一款适用于以HVV行动/红队/渗透测试团队为场景的移动端(Android、iOS、WEB、H5、静态网站)信息收集扫描工具&#xff0c;可以帮助渗透测试工程师、红队成员快速收集到移动端或者静态WEB站点中关键的资产信息并提供基本的信息输出,如&#xff…

OKG Research:如何衡量链上数据的开放价值?

在新加坡Token2049期间&#xff0c;欧科云链研究院受邀参加Bloomberg主办的企业另类资产投资峰会2024&#xff0c;与多位专家围绕未来数据形态与前景进行了深入交流。 活动后&#xff0c;欧科云链研究院负责人Lola Wang与资深研究员Jason Jiang在大公网发表署名文章《如何衡量…

Dinky 字段模式演变 PIPELINE 同步MySQL到Doris

背景 用Dinky数据平台 FlinkCDC收集Mysql BinLog 至 Doris 搭建实时数仓 问题 用Dinky CDCSOURCE 字段模式演变 整库同步Mysql到Doris 字段新增删除不生效 组件信息 Flink 1.17 dinky 1.1 Doris 2.1.6 Mysql 8.0Dinky MySQLCDC 整库到 Doris需要的依赖 Flink/lib 和 dinky/…

家庭酒吧一体化解决方案Bar Assistant

什么是 Bar Assistant &#xff1f; Bar Assistant 是一个用于管理家庭酒吧的自托管应用程序。它允许您添加配料、搜索鸡尾酒和创建自定义鸡尾酒配方。是您所有最爱鸡尾酒配方和饮品的新家。 软件功能&#xff1a; 包含超过 300 个鸡尾酒配方&#xff0c;附带详细信息包含超过…

iPhone 16 Pro 拆解揭秘:设计改进与维修便利性

苹果最新推出的iPhone 16系列在许多方面都进行了更新和改进&#xff0c;而这次我们要聚焦的是其中的高端型号——iPhone 16 Pro。 这款手机不仅在性能上有所提升&#xff0c;在内部构造上也带来了不少变化&#xff0c;让我们一起来看看这些细节吧。 更容易进入的内部结构 对于…

【hadoop报错】JAR does not exist or is not a normal file

1. 环境 linux Ubuntu hadoop 执行 hadoop jar 命令时&#xff0c;一直报错 解决方法 2、确定自己的jar目录是切实存在的 /export/server/hadoop-3.3.6/shares/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-3.3.6-tests.jar 3、网上找了很多解决办法&#xff0c;最后…

QUUID 使用详解

UUID 通常由 128 位&#xff08;16 字节&#xff09;组成&#xff0c;通常表示为 32 个十六进制数字&#xff0c;分为五个部分&#xff0c;格式如下&#xff1a; QUuid 是 Qt 框架中用于生成和处理 UUID&#xff08;通用唯一标识符&#xff09;的类。UUID 是一种标准的标识符格…

厦门网站制作的趋势与最佳实践

厦门网站制作的趋势与最佳实践 随着数字化时代的到来&#xff0c;厦门的网站制作行业也在不断演变&#xff0c;呈现出多样化的趋势与最佳实践。这些变革不仅满足了市场的需求&#xff0c;也为企业的数字化转型提供了强有力的支持。 首先&#xff0c;响应式设计已成为网站制作的…

自由学习记录(5)

git命令行init仓库 mkdir的命令行使用 -p 是 mkdir 命令中的一个选项&#xff0c;表示 "parent"&#xff0c;意思是创建所有必要的父目录。如果使用 -p&#xff0c;即使父目录不存在&#xff0c;命令也会自动创建它们&#xff0c;而不会报错。 在 Git 中&#xff0…

Android复杂问题分析工具bugreportz详解

文章目录 bugreportz详细介绍功能与作用使用方法生成详细报告检查进度bugreportz 的优势分析报告 如何分析1. 解压 ZIP 文件2. 分析主要文件2.1 bugreport.txt2.2 logcat.txt2.3 kernel.log / last_kmsg2.4 events.log2.5 traces.txt2.6 dumpstate_board.txt 3. 工具支持4. 重点…

计算机的错误计算(一百一十九)

摘要 用错数解释计算机的错误计算&#xff08;一百一十八&#xff09;中的错误计算。 计算机的错误计算&#xff08;一百一十八&#xff09;给出一个循环迭代 用C语言或Java编程计算&#xff0c;则 均是错误结果。 下面用错数解释其出错原因。 首先&#xff0c;将迭代看作 …