hot100-一刷-14贪心(共4道题)

news/2025/2/28 15:26:14/文章来源:https://www.cnblogs.com/chendsome/p/18644174

121. 买卖股票的最佳时机

题目链接

题目描述

image

代码实现

分析:
我们需要知道第 i 天之前,股票价格的最小值是什么,再讨论从股票最小值买入,第i天卖出获得的利润,取最大值。

代码:

class Solution {public int maxProfit(int[] prices) {int minPrice = prices[0];int ans = 0;for (int i = 0; i < prices.length; i++){ans = Math.max(prices[i] - minPrice, ans);minPrice = Math.min(minPrice, prices[i]);}return ans;}
}

55. 跳跃游戏

题目链接

题目描述

给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。

判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false 。

示例 1:

输入:nums = [2,3,1,1,4]
输出:true
解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。

示例 2:

输入:nums = [3,2,1,0,4]
输出:false
解释:无论怎样,总会到达下标为 3 的位置。但该下标的最大跳跃长度是 0 , 所以永远不可能到达最后一个下标。

提示:

1 <= nums.length <= 104
0 <= nums[i] <= 105

代码实现

分析:

代码:

class Solution {public boolean canJump(int[] nums) {int mx = 0;for(int i = 0; i < nums.length; i++){if(mx < i) return false;// 维护当前能到达的最远下标, 最远的不一定是在[i]上取的,可能是[i]前的mx = Math.max(mx, i+nums[i]);}return true;}
}

45. 跳跃游戏 II

题目链接

题目描述

给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。

每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说,如果你在 nums[i] 处,你可以跳转到任意 nums[i + j] 处:

0 <= j <= nums[i] 
i + j < n

返回到达 nums[n - 1] 的最小跳跃次数。生成的测试用例可以到达 nums[n - 1]。

示例 1:

输入: nums = [2,3,1,1,4]
输出: 2
解释: 跳到最后一个位置的最小跳跃数是 2。
  从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。

示例 2:

输入: nums = [2,3,0,1,4]
输出: 2

提示:

1 <= nums.length <= 104
0 <= nums[i] <= 1000
题目保证可以到达 nums[n-1]

代码实现

分析:

代码:

class Solution {public int jump(int[] nums) {// 已经有的桥int curRight = 0;// 下一次要建的桥,不一定会建 因为可能有好几个,选最远的int nextRight = 0;int cnt = 0;// i = n-2 , 到了终点n-1就不需要建桥了,判断到n-2就可以了,n-2要是还没到(n-2 = curRight),就建桥,建完桥就到了for(int i = 0; i < nums.length-1; i++){nextRight = Math.max(nextRight, nums[i] + i);// 走已经建的桥的每一个点,看当前点上建的桥最远的更新为nextRightif (i == curRight){curRight = nextRight;  // 选择这个过程中最远的下一座桥建cnt++;}}return cnt;}
}

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

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

相关文章

中考英语优秀范文-004 Who is your favourite movie star? 你最喜欢的电影明星是谁?

中考英语优秀范文-004 Who is your favourite movie star? 你最喜欢的电影明星是谁? 1 写作要求 请根据以下提示信息以My favourite movie star为题,用英语写一篇80词左右的短文,可适当发挥。 提示信息: Who is your favourite movie star? What does he or she look lik…

静力学FEM12.31

1.静力学方程 考虑图所示变截面弹性杆的静态响应。这是线性应力分析或线弹性问题的一个例子,我们需要求杆内的应力分布σ(x)。 应力由物体的变形产生,而变形由物体内各点的位移u(x)表征。位移导致用ε(x)表示的应变;应变是一个无量纲变量。杆受到分布力b(x)或集中力作用。这…

苍穹外卖day06、07

Reids缓存、Spring Cache框架bug记录知识点记录HttpClient HttpClient是Apache Jakarta Common下的子项目,可以用来提供高效的、最新的、高智能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议。微信小程序开发缓存菜品 问题: 用户端小程序展示的…

delphi 协程 doroutine 成功回调

示例代码 unit main;interfaceusesWinapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ComCtrls, Vcl.StdCtrls, doroutine;typeTForm3 = class(TForm)Button1: TButton;procedure …

OA系统的天数该怎样计算

在开发一些OA系统的过程中,经常能遇到一个问题,就是时长计算,比如请假有请假的时长,出差有出差的时长,有的公司请假只能按照整天或小时为单位请假,这种都比较好处理,只要排除休息日节假日天数或排除工作小时数加午休( 如果有的话😂)小时数直接相减即可,但是如果需求…

项目管理中的甘特图应用与实践

在项目管理的领域中,甘特图是一种被广泛应用的工具,它以可视化的方式展示项目进度、任务关系以及资源分配等关键信息。甘特图的应用不仅能够帮助项目管理者更好地规划和执行项目,还能让团队成员清晰地了解项目的整体情况。想象一下,在一个复杂的项目中,通过甘特图将任务与…

ASP.NET Core技术研究-探秘依赖注入框架

ASP.NET Core在底层内置了一个依赖注入框架,通过依赖注入的方式注册服务、提供服务。依赖注入不仅服务于ASP.NET Core自身,同时也是应用程序的服务提供者。 毫不夸张的说,ASP.NET Core通过依赖注入实现了各种服务对象的注册和创建,同时也实现了面向抽象的编程模式和编程体验…

读懂华为开发者空间第一课,让云上开发如此简单

课程由浅入深带领开发者了解华为开发者空间,包含鲲鹏、昇腾、鸿蒙等华为优质开发工具和资源、真实项目开发案例等,构建对华为开发者空间的系统性认知框架。近日,华为云上线的《华为开发者空间快速入门》课程,汇聚了理论知识讲解、案例介绍和丰富的实践练习,通过循序渐进的…

【iscsi使用】3.无盘启动CentOS7

目录1.SAN存储及NAS存储 2.CentOS7搭建iscsi服务器 3.无盘启动CentOS7前言业务中遇到这样一个问题: 使用别人的GPU服务器,来跑自己的训练数据。 因为数据的特殊性,一旦数据落盘到GPU服务器,硬盘必须交给数据方。数据方也提出,可提供同型号同容量的硬盘更换。但是机器方考虑…

.NET Core技术研究-HttpContext访问的正确方式

将ASP.NET升级到ASP.NET Core之后,相信大家都会遇到HttpContext.Current无法使用的问题。这也是我们迁移ASP.NET Core必须解决的问题。 先列一下使用HttpContext的具体场景: 1. 在Controller层访问HttpContext 2. 在中间件中使用HttpContext 3. 在数据访问层使用HttpContext …

chrome播放webRTC的H265视频方法

需求描述 最近有需求实现浏览器直接播放摄像头视频 鉴于Camera本身支持了rtsp流,本想web直接播放rtsp,但是还不行,搜了一下webRTC实现的效果和延迟会好一些。于是就使用了mediaMTX转了下rtsp的流,变为webRTC。 随便写了个h5页面对视频进行播放,使用下面代码的话替换一下sr…

在Excel 2013中调出开发工具

打开Excel 2013,点击左上角的【文件】菜单,在【文件】菜单下,选择【选项】按钮 在弹出的【Excel选项】界面中,选择【快速访问工具栏】。在【自定义功能区】处,勾选【开发工具】选项。设置完成后,关闭【选项】界面。这时,在功能区靠右端就可以看到新增加的【开发工具】选…