LeetCode第70题爬楼梯

简介: 这篇文章是关于LeetCode第70题"爬楼梯"的解题分享。作者首先分析了题目,指出这是一个简单的问题,并且可以通过观察发现爬楼梯的规律:到达第n层楼梯的走法数等于到达第n-1层和第n-2层楼梯的走法数之和。接着,作者提供了一个Java语言的代码实现,使用了迭代的方式来计算爬楼梯的走法数。最后,作者总结了动态规划思想在解决这类问题时的应用,强调了通过观察问题找出规律的重要性。

继续打卡算法题,今天学习的是LeetCode70题爬楼梯,这道题目是道简单题。算法题的一些解题思路和技巧真的非常巧妙,每天看一看算法题和解题思路,我相信对我们的编码思维和编码能力有一些提升。

image.png

分析一波题目

这个题目思路是简单的,由于每次只能爬1步或者2步,那么达到每一层可以通过倒数第二层和倒数第三层推出来。

比如 n =3,等于n=2再爬一楼,n=1再爬2楼 ,这样就有 f(n) = f(n-1) + f(n-2)

编码解决

class Solution {
   
   
    public int climbStairs(int n) {
   
   
        int p = 0, q = 0, r = 1;
        for (int i = 1; i <= n; ++i) {
   
   
            p = q; 
            q = r; 
            r = p + q;
        }
        return r;
    }
}

总结

1、理解题目的题意,然后发现规律,这个题目发现解可以根据前面求的子项解推出后面的解,这是动态规划思想。

相关文章
|
11月前
|
机器学习/深度学习 人工智能 运维
智能运维:大数据与AI的融合之道###
【10月更文挑战第20天】 运维领域正经历一场静悄悄的变革,大数据与人工智能的深度融合正重塑着传统的运维模式。本文探讨了智能运维如何借助大数据分析和机器学习算法,实现从被动响应到主动预防的转变,提升系统稳定性和效率的同时,降低了运维成本。通过实例解析,揭示智能运维在现代IT架构中的核心价值,为读者提供一份关于未来运维趋势的深刻洞察。 ###
387 10
|
12月前
|
安全 Java API
时间日期API(Date,SimpleDateFormat,Calendar)+java8新增日期API (LocalTime,LocalDate,LocalDateTime)
这篇文章介绍了Java中处理日期和时间的API,包括旧的日期API(Date、SimpleDateFormat、Calendar)和Java 8引入的新日期API(LocalTime、LocalDate、LocalDateTime)。文章详细解释了这些类/接口的方法和用途,并通过代码示例展示了如何使用它们。此外,还讨论了新旧API的区别,新API的不可变性和线程安全性,以及它们提供的操作日期时间的灵活性和简洁性。
|
9月前
|
机器学习/深度学习 存储 人工智能
【AI系统】模型转换基本介绍
模型转换技术旨在解决深度学习模型在不同框架间的兼容性问题,通过格式转换和图优化,将训练框架生成的模型适配到推理框架中,实现高效部署。这一过程涉及模型格式转换、计算图优化、算子统一及输入输出支持等多个环节,确保模型能在特定硬件上快速、准确地运行。推理引擎作为核心组件,通过优化阶段和运行阶段,实现模型的加载、优化和高效执行。面对不同框架的模型文件格式和网络结构,推理引擎需具备高度的灵活性和兼容性,以支持多样化的应用场景。
403 4
【AI系统】模型转换基本介绍
|
11月前
|
算法 安全 5G
|
存储 Java Linux
【Zookeeper】基于3台linux虚拟机搭建zookeeper集群(二)
【Zookeeper】基于3台linux虚拟机搭建zookeeper集群
526 1
【Zookeeper】基于3台linux虚拟机搭建zookeeper集群(二)
|
存储 安全 Java
基于Java的企业级身份认证与授权
基于Java的企业级身份认证与授权
2024年阿里云域名注册和续费、云虚拟主机、企业邮箱收费标准价格表
域名,云虚拟主机,企业邮箱是阿里云旗下的基础产品,阿里云的域名注册量一直稳居国内第一,旗下的云虚拟主机产品也是普通站长经常购买的产品,而阿里云的企业邮箱产品也收到越来越多的个人和企业用户喜欢,本文给大家分享一下2024年阿里云最新的域名,云虚拟主机,企业邮箱收费价格表,以供参考。
2024年阿里云域名注册和续费、云虚拟主机、企业邮箱收费标准价格表
|
存储 Linux 数据库连接
【专栏】掌握 `envsubst` 可提升在 Linux 系统中处理环境变量的效率。
【4月更文挑战第28天】`envsubst` 是 Linux 中用于替换文本中环境变量值的工具。它遍历文本,将环境变量替换为实际值。要使用它,首先可能需要安装相应软件包。基本用法是 `envsubst < input.txt > output.txt`,将输入文件的环境变量替换后输出到输出文件。命令还支持选项如 `-e` 和 `-d`。实例包括:配置文件替换、脚本执行中的环境变量替换和动态生成文件。掌握 `envsubst` 可提升在 Linux 系统中处理环境变量的效率。
665 0
|
存储 缓存
[simulink] --- simulink模块(一)
[simulink] --- simulink模块
8179 0
|
消息中间件 缓存 运维
永续合约丨秒合约丨交易所系统开发正式版/方案详情/开发功能
永续合约开发技术是指开发和实现永续合约交易的技术。永续合约是一种无固定到期日的合约,与传统的期货合约不同,它没有到期日,可以一直持有。永续合约的交易方式类似于现货交易,但是具有杠杆交易的特点。