力扣刷题记录(15)LeetCode:509、70、746

news2025/2/22 21:13:33

目录

509.斐波那契数

70.爬楼梯 

746.使用最小花费爬楼梯

 总结


​​​​​​

用一个数组来存储前两个数的值,然后根据前两个数的值来确定当前的值。

class Solution {
public:
    int fib(int n) {
        if(n<2)  return n;
        vector<int> v;
        v.push_back(0);
        v.push_back(1);
        int num=0,i=2;
        while(v.size()-1<n)
        {
            num=v[v.size()-1]+v[v.size()-2];
            v.push_back(num);
        }
        return v.back();
    }
};

70.爬楼梯

到达当前台阶有多少种方法取决于到达前两个台阶有多少种方法。因为到达当前台阶不是从前一个台阶上来的就是从前前个台阶上来的。

class Solution {
public:
    int climbStairs(int n) {
        if(n<=2)    return n;
        int dp[2]={1,2};
        int ans=0;
        for(int i=3;i<=n;i++)
        {
            ans=dp[0]+dp[1];
            dp[0]=dp[1];
            dp[1]=ans;
        }
        return ans;
    }
};

746.使用最小花费爬楼梯

首先声明一个数组用来存储到达每个台阶所需要的费用,数组的长度应该比cost的长度大1。因为需要爬完整个楼梯,包括最后一个。爬到当前台阶的花费取决于前两个台阶。

class Solution {
public:
    int minCostClimbingStairs(vector<int>& cost) {
        int dp[cost.size()+1];
        dp[0]=0;
        dp[1]=0;
        for(int i=2;i<=cost.size();i++)
        {
            dp[i]=min(dp[i-1]+cost[i-1],dp[i-2]+cost[i-2]);
        }
        return dp[cost.size()];
    }
};

 总结

通过这些简单题来了解动态规划的思想、解题思路、解题步骤。这些题有一个共通的特性,就是如果想要得到当前答案,必须由上面所给出的答案推导而来。

动态规划的步骤:

  1. 确定dp数组以及下标的含义
  2. 确定递推公式
  3. dp数组如何初始化
  4. 确定遍历顺序
  5. 举例推导dp数组

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

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

相关文章

【深度学习目标检测】九、基于yolov5的路标识别(python,目标检测)

YOLOv5是目标检测领域一种非常优秀的模型&#xff0c;其具有以下几个优势&#xff1a; 1. 高精度&#xff1a;YOLOv5相比于其前身YOLOv4&#xff0c;在目标检测精度上有了显著的提升。YOLOv5使用了一系列的改进&#xff0c;如更深的网络结构、更多的特征层和更高分辨率的输入图…

大模型(LLM)+词槽(slot)构建动态场景多轮对话系统

构建动态场景多轮对话系统 引言 在人工智能和自然语言处理领域&#xff0c;聊天机器人的开发一直是一个热点话题。近年来&#xff0c;随着大型语言模型&#xff08;LLM&#xff09;的进步&#xff0c;构建能够理解和响应各种用户需求的聊天机器人变得更加可行和强大。本文将介…

python识别增强静脉清晰度 opencv-python图像处理案例

一.任务说明 用python实现静脉清晰度提升。 二.代码实现 import cv2 import numpy as npdef enhance_blood_vessels(image):# 调整图像对比度和亮度enhanced_image cv2.convertScaleAbs(image, alpha0.5, beta100)# 应用CLAHE&#xff08;对比度受限的自适应直方图均衡化&am…

万能在线答题考试小程序源码系统 网课必备 既能刷题又能考试 附带完整的搭建教程

在当前的数字化时代&#xff0c;移动应用程序已经成为人们日常生活的重要组成部分。其中&#xff0c;小程序因其无需下载、即用即走的特性&#xff0c;备受用户青睐。现如今&#xff0c;将在线答题考试功能集成到小程序中&#xff0c;可以极大地提高学习者的学习效率和兴趣。 …

历时两个月,我终于研究透外卖红包是怎么一回事

近几年&#xff0c;推广外卖红包爆火&#xff0c;各种推广外卖红包的公众号层出不穷。于是&#xff0c;我就在想外卖红包究竟是怎么一回事。就这样&#xff0c;我带着问题开始了关于外卖红包的研究。 在研究的过程中&#xff0c;我开始了解隐藏优惠券、cps等一系列相关的术语。…

rabbitmq界面主要参数分析

本篇主要分析rabbitmq broker界面参数 rabbitmq界面主要参数分析 1、connections User Name: user - 连接所使用的用户名。 State: running - 连接当前的状态&#xff0c;这里表明连接是活动的。 SSL/TLS: ○ - 表示这个连接没有使用SSL/TLS加密。 内部或受信任的网络中可能…

【RTOS学习】源码分析(通用队列 队列 队列集)

&#x1f431;作者&#xff1a;一只大喵咪1201 &#x1f431;专栏&#xff1a;《RTOS学习》 &#x1f525;格言&#xff1a;你只管努力&#xff0c;剩下的交给时间&#xff01; 前面本喵讲解了和任务相关的FreeRTOS源码&#xff0c;进行再来介绍一下用于任务间通信的几种数据结…

14.单调队列(滑动窗口最大值)、单调队列优化DP【灵神基础精讲】

单调队列&#xff08;滑动窗口最大值&#xff09; 从「维护单调性」的角度上来说&#xff0c;单调队列和单调栈是一样的&#xff0c;一个弹出队尾元素&#xff0c;另一个弹出栈顶元素。在单调栈的基础上&#xff0c;单调队列多了一个「移除队首」的操作&#xff0c;这类似滑动窗…

牛目标检测数据集VOC+YOLO格式4000张

牛是一种古老的哺乳动物&#xff0c;被人类驯化了数千年&#xff0c;成为了人类重要的家畜之一。它们是一种大型草食性动物&#xff0c;主要生活在草原、森林和农村地区。牛的体型较大&#xff0c;体长可达3米&#xff0c;体重可达1500千克。 牛是一种非常有用的动物&#xff0…

【TB作品】STM32 PWM之实现呼吸灯,STM32F103RCT6,晨启

文章目录 完整工程参考资料实验过程 实验任务&#xff1a; 1&#xff1a;实现PWM呼吸灯&#xff0c;定时器产生PWM&#xff0c;控制实验板上的LED灯亮灭&#xff1b; 2&#xff1a;通过任意两个按键切换PWM呼吸灯输出到两个不同的LED灯&#xff0c;实现亮灭效果&#xff1b; 3&…

提升数据中心网络效率:100G QSFP28 LR4光模块的优势分析

数字信息的急剧增长&#xff0c;对高速、高容量网络的需求愈发迫切&#xff0c;数据传输的速度和距离成为了一个关键的挑战。在这个背景下&#xff0c;100G QSFP28 LR4光模块作为一款性能卓越的光模块&#xff0c;为远距离高速传输提供了全新的解决方案。 该产品是专为符合100G…

【网络面试必问(8)】防火墙原理、正向代理、反向代理、缓存服务器、负载均衡和内容分发服务器

接上一篇&#xff1a;【网络面试必问&#xff08;7&#xff09;】聊聊集线器、交换机和路由器 作为一个程序员&#xff0c;其实很少去了解http请求消息在到达服务器之前&#xff0c;所经过的众多组件的&#xff0c;今天借着机会聊一聊标题中提到的正向代理、反向代理、缓存服务…

分段管理及段页管理

一、 分段 程序的逻辑关系被划分为不同的段&#xff0c;每个段有一个段名&#xff0c;并且每个段都从0开始编址。这些段在内存中分配&#xff0c;每个段占据连续的内存空间&#xff0c;但不同段之间可以不相邻。 这种分段管理有一些特点和优势&#xff1a; 逻辑划分&#xff1…

SpringBoot已经禁掉了循环依赖!

还在问循环依赖嘛&#xff1f;SpringBoot已经禁掉了循环依赖&#xff01; 首发2023-12-18 11:26yuan人生 如果现在面试时还有人问你循环依赖&#xff0c;你就这样怼他&#xff1a;循环依赖是一种代码质量低下的表现&#xff0c;springboot2.6之后的版本已经默认禁用了。 Spr…

计算机与自动医疗检查仓:技术革新引领医疗未来

计算机与自动医疗检查仓&#xff1a;技术革新引领医疗未来 一、引言 随着科技的飞速发展&#xff0c;人工智能&#xff08;AI&#xff09;和机器学习&#xff08;ML&#xff09;已经成为现代社会不可或缺的一部分。它们的应用领域日益扩展&#xff0c;从简单的日常任务到复杂…

云原生系列2-GitLab和Jenkins

1、GitLab类似github&#xff0c;是个私有仓库 1、GitLab安装&#xff0c;至少8G内存4核cpu # 查找Gitlab镜像 docker search gitlab/gitlab-ce # gitlab镜像拉取 docker pull gitlab/gitlab-ce # 查看镜像 docker images # 本机先建3个目录&#xff0c;为了gitlab容器通过挂…

【C语言】自定义类型:结构体深入解析(一)

&#x1f308;write in front :&#x1f50d;个人主页 &#xff1a; 啊森要自信的主页 ✏️真正相信奇迹的家伙&#xff0c;本身和奇迹一样了不起啊&#xff01; 欢迎大家关注&#x1f50d;点赞&#x1f44d;收藏⭐️留言&#x1f4dd;>希望看完我的文章对你有小小的帮助&am…

Moonbeam生态项目分析 — — 跨链借贷协议Orbiter One

概览 Orbiter One是一个非托管的借贷协议和DeFi中心&#xff0c;专注于跨链互操作性。通过使用从借贷中赚取的ORB Token铸造的Intergactic Whiskers Brigade NFT&#xff0c;用户可以质押并获得额外奖励&#xff0c;借贷和跨链存款则可以在不离开Moonbeam的情况下无缝参与其他…

听说蚂蚁的职级调整了

上周三听说蚂蚁的职级调整了&#xff0c;让我们来看一下具体的改革方案&#xff1a; 简单地说&#xff0c;就是把原来的 PN 级一拆二&#xff0c;拆成 2N 和 2N1 级。 从本质上来看&#xff0c;就是把原来扁平化的宽职级变多了&#xff0c;相当于 double 了。 那职级变多有什…

初探 Reactor、Proactor 线程模型与 BIO、AIO、NIO

1 前言 工作中或者是技术上经常会遇到 I/O 、线程模型相关的问题&#xff0c;以及同步、异步、阻塞、非阻塞等各种基础问题&#xff0c;之前上学时候的概念认知总是模糊的&#xff0c;一知半解。趁这次了解希望能够更加深入的去了解这方面的知识&#xff0c;于是有了接下来这篇…