代码随想录算法训练营第三十二天|122.买卖股票的最佳时机II 55. 跳跃游戏 45.跳跃游戏II

LeetCode 122.买卖股票的最佳时机II

题目链接:122.买卖股票的最佳时机II

踩坑:差点陷入不必要的细节,比如怎么表现买入卖出,怎么体现同一天买入卖出

思路:这里的股票买卖是看了天眼,明天的涨跌今天就知道,那肯定是如果明天涨了我今天才买,因此,将每天的价格可视化出来,统计所有单调上升的总和即可。

代码:

class Solution {
public:int maxProfit(vector<int>& prices) {if(prices.size() <= 1) return 0;int sum = 0;for(int today = 0, tm = 1; today < prices.size()-1; today++, tm++){if(prices[tm] > prices[today]) sum += (prices[tm] - prices[today]);}return sum;}
};

LeetCode 55.跳跃游戏

题目链接:55.跳跃游戏

踩坑:不需要去纠结具体的跳跃路径,只要跳跃的范围能覆盖到结尾即可。

思路:每一个元素的值与其索引的和就是它能到达的最大索引,因此以能到达的最大索引为右边界,同时也不断维护最大索引即可。

class Solution {
public:bool canJump(vector<int>& nums) {int max = 0;int cur = 0;while(max < nums.size()-1 && cur <= max){if(max < nums[cur] + cur) max = nums[cur] + cur;cur++;}if(max >= nums.size()-1) return true;return false;}
};

LeetCode 45.跳跃游戏II

题目链接:45.跳跃游戏II

踩坑:无

思路:在确定当前最大覆盖范围后,向前遍历并不断维护今后能达到的最大范围直到遍历完当前最大范围,之后判断今后的最大范围能不能包含结尾,如果能则加一步即可完成任务,如果不能则加一步后更新最大覆盖范围继续遍历。

代码:

class Solution {
public:int jump(vector<int>& nums) {if(nums.size() == 1) return 0;int _max = 0;int next = 0;int count = 1;for(int i = 0; i < nums.size(); i++){next = max(nums[i] + i, next);if(i == _max){if(next >= nums.size()-1) break;else{count++;_max = next;}}}return count;}
};

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

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

相关文章

基于FPGA的图像一维FFT变换IFFT逆变换verilog实现,包含tb测试文件和MATLAB辅助验证

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 fpga仿真结果 matlab调用FPGA的仿真结果进行图像显示 2.算法运行软件版本 vivado2019.2 matlab2022a 3.部分核心程序 ......................…

检测数据类型的方法有哪些

1.typeof&#xff0c;问题是对null的结果是object console.log(typeof 42); // "number" console.log(typeof hello); // "string" console.log(typeof true); // "boolean" console.log(typeof undefined); // "undefined" console.…

Knife4j 生成 API 文档

文章目录 Knife4j 简介使用步骤Knife4j 常用注解的列表案例可能遇到报错 Knife4j 简介 Knife4j 是一个增强的 Swagger 文档生成工具&#xff0c;提供了更加友好的界面和更多功能&#xff0c;使得 API 文档更加美观且易于使用。它是基于 Spring Boot 和 Swagger 进行封装的&…

2024年二级建造师考试题库及答案

一、单选题 11.对于同类型产品规格多、工序重复、工作量小的施工过程&#xff0c;编制人工定额宜采用的方法是&#xff08;&#xff09;。 A.经验估算法 B.技术测定法 C.统计分析法 D.比较类推法 答案&#xff1a;D 解析&#xff1a;本题考察的是"制定人工定额的常…

Xcode 安装17.5 simulator 总是失败

升级到xcode15.4后需要安装ios17.5模拟器 但是在下载过程中会遇到报错 : The network connection is lost 解决方案&#xff1a; 先将模拟器下载到本地 Xcode 安装17.5 simulator 下载地址&#xff1a; Sign In - Applhttps://developer.apple.com/download/all/?qXcode 下…

C# WPF入门学习主线篇(十五)—— DockPanel布局容器

C# WPF入门学习主线篇&#xff08;十五&#xff09;—— DockPanel布局容器 欢迎来到C# WPF入门学习系列的第十五篇。在前几篇文章中&#xff0c;我们探讨了 Canvas、StackPanel 和 WrapPanel 布局容器及其使用方法。本篇博客将介绍另一种强大且常用的布局容器——DockPanel。…

07.组件间通信-provide-inject(祖孙通信)

组件间通信-provide-inject&#xff08;祖孙通信&#xff09; 父组件&#xff1a; <template><div class"father"><h3>父组件</h3><h4>银子&#xff1a;{{ money }}万元</h4><h4>车子&#xff1a;一辆{{car.brand}}车&am…

【计算机网络】P3 计算机网络协议、接口、服务的概念、区别以及计算机网络提供的三种服务方式

目录 协议什么是协议协议是水平存活的协议的组成 接口服务服务是什么服务原语 协议与服务的区别计算机网络提供的服务的三种方式面向连接服务与无连接服务可靠服务与不可靠服务有应答服务与无应答服务 协议 什么是协议 协议&#xff0c;就是规则的集合。 在计算机网络中&…

# 梯影传媒T6投影仪刷机方法及一些刷机工具链接

梯影传媒T6投影仪刷机方法及一些刷机工具链接 文章目录 梯影传媒T6投影仪刷机方法及一些刷机工具链接1、安装驱动程序2、备份设备rom【boot、system】3、还原我要刷进设备的rom【system】4、打开开发者模式以便于安装apk5、root设备6、更多好链接&#xff1a; 梯影传媒T6使用的…

Redis系列-4 Redis集群介绍

Redis集群 Redis提供了持久化能力&#xff0c;保证了重启不会丢失数据&#xff1b;但Redis重启至完全恢复期间&#xff0c;缓存不可用。另外&#xff0c;对于高并发场景下&#xff0c;单点Redis服务器的性能不能满足吞吐量要求&#xff0c;需要进行横向扩展。此时&#xff0c;…

八爪鱼现金流-021-形势不好,不折腾也许是最好的选择

形势不好。大家都不敢消费了。 已经优化3波人了。 有技术、甚至有关系的&#xff0c;都可能被优化掉。 大家都在想着怎么多赚钱。弄点什么副业。 开直播&#xff0c;运营x书账号&#xff0c;摆摊。 所有你能想到的&#xff0c;早就有人做的非常好&#xff0c;非常专业了。 …

深入理解交叉熵损失CrossEntropyLoss - 信息论(交叉熵)

深入理解交叉熵损失CrossEntropyLoss - 信息论&#xff08;交叉熵&#xff09; 信息论 深入理解交叉熵损失CrossEntropyLoss - 信息论&#xff08;交叉熵&#xff09;一、自信息&#xff08;Self-Information&#xff09;1. 符号取负2. 对数的性质3. 信息的度量数学推导与例子 …

软件设计,建模及需求分析

文章目录 设计原则建模及需求分析UML画图工具原型图画图工具 重构 设计原则 SOLID原则 单一职责 开闭 &#xff08;扩展开放&#xff0c;修改关闭&#xff09; 里氏替换 &#xff08;父类出现地方都可以用子类替换&#xff09; 接口隔离 依赖倒置&#xff08;高层模块不依…

cmake使用make和Ninja构建对比

前提 make和Ninja是两个常见的构建工具&#xff0c;在网上查阅了一些资料&#xff0c;说是Ninja比make构建速度要快很多。但是具体不知道快多少&#xff0c;所以趁着这次编译clang的机会&#xff0c;分享下它们在时间方面差多少。 步骤 下载llvm 参考llvm官网&#xff0c;这…

stream 流的一些底层实现原理

闭包 闭包的底层实现?外层的变量成为方法的一部分会生成一个lambda方法&#xff0c;将源本的2个参数转化3个参数此时变量就成为了方法的一部分值是如何传递的呢?会有一个专门的类用于存储此变量的值 流的切分后再并行 数组或者是集合&#xff0c;需要用到一个可切分的迷代器这…

【Linux高级IO】select、poll、epoll

【Linux高级IO】select、poll、epoll toc 作者&#xff1a;爱写代码的刚子 时间&#xff1a;2024.6.5 前言&#xff1a;本篇博客将会介绍面试重点考察的select、poll、epoll IO: input && Output read && write 应用层read&&write的时候&#xff0c…

手机UI设计中的按钮状态包含哪几种

在手机UI设计中&#xff0c;按钮的状态设计是用户体验中非常关键的一部分。通常&#xff0c;这些状态会明确地告知用户按钮的当前状态以及可能的交互结果。以下是手机UI设计中常见的按钮状态及其特点&#xff1a; 普通状态&#xff08;Normal State&#xff09;&#xff1a; …

【全开源】安心护送非急救救护车转运平台小程序(FastAdmin+ThinkPHP+Uniap

&#x1f691;安心护送非急救救护车转运平台小程序——您的健康守护者&#x1f496; 安心护送转运平台小程序是一款基于FastAdminThinkPHPUniapp开发的非急救救护车租用转运平台小程序系统&#xff0c;可以根据运营者的业务提供类似短途接送救护服务&#xff0c;重症病人转运服…

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《基于状态分解的综合能源系统完全分布式调度算法》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

【frp】frpc客户端在ubuntu服务器上的配置

FRP简单配置内网穿透 官方仓库 ,说明比较简单 复杂一点要付费加入星球了。 而且frp还支持插件,目前还不清楚具体使用。 幸好,这位大神给出的非常详细 而且客户端与服务端都是部署在ubuntu的: 【frp】服务端配置与systemd启动 进行了frps的简单配置。 局域网内的机器是ubunt…