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

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

完成

思路:

把每天的利润最大化,即可达到总利润的最大化。
把利润拆分到每一天,能获利就买。

代码

class Solution {public int maxProfit(int[] prices) {int res = 0;for (int i = 0; i < prices.length-1; i++) {int minus = prices[i+1]-prices[i];if(minus > 0){res += minus;}}return res;}
}

55. 跳跃游戏

完成

思路:

数组中的每个元素代表的是跳跃最大距离,而不是唯一距离。因此只需要看从第一个元素开始进行有效范围覆盖,能否覆盖到最后一个元素。

遍历组数时需要特别注意的是i的范围限定,不是i < nums.length ,这样就遍历了整个数组,返回的一定是true

代码

class Solution {public boolean canJump(int[] nums) {int cover = 0;// 注意这里i的范围不是 i < nums.lengthfor (int i = 0; i <= cover; i++) {cover = Math.max(cover, i+nums[i]);if(cover>=nums.length-1) return true;}return false;}
}

45.跳跃游戏II

完成

思路:

本题也不需要纠结具体的路线,只要覆盖范围达到即可。

代码

class Solution {public int jump(int[] nums) {int res = 0;// 当前覆盖的最远距离下标int end = 0;// 下一步覆盖的最远距离下标int temp = 0;for (int i = 0; i <= end && end < nums.length - 1; ++i) {temp = Math.max(temp, i + nums[i]);// 可达位置的改变次数就是跳跃次数if (i == end) {end = temp;res++;}}return res;}
}

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

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

相关文章

Activation of network connection failed(ubuntu连不上网)

ubuntu连不上网&#xff0c;看了好几个方法找到个有用的记录一下 1. 还原默认设置 2. 更改适配器&#xff1a;加上vmware bridge protocol

使用Vue.js输出一个hello world

导入vue.js <script src"https://cdn.jsdelivr.net/npm/vue2/dist/vue.js"></script> 创建一个标签 <div id"app">{{message}}</div> 接管标签内容&#xff0c;创建vue实例 <script type"text/javascript">va…

关于Django的中间件使用说明。

目录 1.中间件2. 为什么要中间件&#xff1f;3. 具体使用中间件3.1 中间件所在的位置&#xff1a;在django的settings.py里面的MIDDLEWARE。3.2 中间件的创建3.3 中间件的使用 4. 展示成果 1.中间件 中间件的大概解释&#xff1a;在浏览器在请求服务器的时候&#xff0c;首先要…

【无标题】JAVA学习-集合.编写equals和hashCode

编写equals()和hashCode()方法需要遵循以下原则&#xff1a; 1. equals()方法&#xff1a; - 使用instanceof关键字检查传入的对象是否为当前类的实例。 - 检查传入的对象是否为null。 - 检查传入的对象的类型是否与当前对象的类型相同。 - 比较对象的属性是否相等&#x…

如何在 Ubuntu VPS 上使用 Celery 与 RabbitMQ 来做队列

简介 异步或非阻塞处理是一种将某些任务的执行与程序的主要流程分离的方法。这为您提供了几个优势&#xff0c;包括允许用户界面代码在没有中断的情况下运行。 消息传递是程序组件用来通信和交换信息的一种方法。它可以同步或异步实现&#xff0c;并且可以允许离散进程进行无问…

2月14日作业

1、安装tftp服务器和nfs服务器&#xff0c;准备需要下载到开发板文件&#xff0c;存放在指定下载文件夹下&#xff0c;准备需要挂载到开发板文件夹&#xff0c;存放在指定挂载文件夹中。 2、ubuntu和开发板组网&#xff0c;关闭防火墙&#xff0c;关闭杀毒软件&#xff0c;配置…

探索XGBoost:自动化机器学习(AutoML)

探索XGBoost&#xff1a;自动化机器学习&#xff08;AutoML&#xff09; 导言 自动化机器学习&#xff08;AutoML&#xff09;是一种通过自动化流程来构建、训练和部署机器学习模型的方法。XGBoost作为一种强大的机器学习算法&#xff0c;也可以用于AutoML。本教程将介绍如何…

NLP快速入门

NLP入门 课程链接&#xff1a;https://www.bilibili.com/video/BV17K4y1W7yb/?p1&vd_source3f265bbf5a1f54aab2155d9cc1250219 参考文档链接1&#xff1a;NLP知识点&#xff1a;Tokenizer分词器 - 掘金 (juejin.cn) 一、分词 分词是什么&#xff1f; 每个字母都有对应…

【Web】从零开始的js逆向学习笔记(上)

目录 一、逆向基础 1.1 语法基础 1.2 作用域 1.3 窗口对象属性 1.4 事件 二、浏览器控制台 2.1 Network Network-Headers Network-Header-General Network-Header-Response Headers Network-Header-Request Headers 2.2 Sources 2.3 Application 2.4 Console 三、…

车载诊断协议DoIP系列 —— DoIP会话模式(安全与非安全)

车载诊断协议DoIP系列 —— DoIP会话模式(安全与非安全) 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师(Wechat:gongkenan2013)。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 本就是小人物,输了就是输了,不要在意别人怎么看自己。江湖…

react 插槽

问题开发当中会经常出现组件十分相似的组件&#xff0c;只有一部分是不同的 解决&#xff1a; 父组件:在引用的时候 import { Component } from "react"; import Me from "../me";const name <div>名称</div> class Shoop extends Compone…

MongoDB聚合操作符:$accumulator

$accumulator可以定义自定义累加器操作符。累加器是一种操作符&#xff0c;可在文档通过管道时保持其状态&#xff08;如&#xff1a;总数、最大值、最小值和相关数据&#xff09;。$accumulator操作符支持执行自定义的JavaScript函数&#xff0c;可以实现MongoDB查询语言不支持…

【STM32 CubeMX】学STM必会的数据结构——环形缓冲区

文章目录 前言一、环形缓冲区是什么二、实现环形缓冲区实现分析2.1 环形缓冲区初始化2.2 写buf2.3 读buf2.4 测试 三、代码总况总结 前言 在嵌入式系统开发中&#xff0c;经常需要处理数据的缓存和传输&#xff0c;而环形缓冲区是一种常见且有效的数据结构&#xff0c;特别适用…

幻兽帕鲁官方更新了,服务器端怎么更新?

幻兽帕鲁官方客户端更新了&#xff0c;那么它的服务器端版本也是需要更新的&#xff0c;不然版本不一致的话&#xff0c;就不能进入游戏了。 具体的更新方法有两种&#xff0c;一是手动输入命令进行更新。第二种是在面板一键更新。 无论你是在阿里云或者腾讯云购买的一键部署…

Pycharm里如何设置多Python文件并行运行

点击上方“Python爬虫与数据挖掘”&#xff0c;进行关注 回复“书籍”即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 夕阳何事近黄昏&#xff0c;不道人间犹有未招魂。 大家好&#xff0c;我是皮皮。 一、前言 相信使用Pycharm的粉丝们肯定有和我一样的想法&#xff0c;…

rollup 和 esbuild 的对比

Rollup 和 esbuild 都是 JavaScript 模块打包工具&#xff0c;用于将多个模块打包成一个或多个浏览器可执行的文件。Rollup 先被提出&#xff0c;esbuild 后被提出。 Rollup&#xff1a; 提出时间&#xff1a;Rollup 是在 2015 年首次发布的。它最初的目标是专注于 ES6 模块的静…

算法学习——LeetCode力扣贪心篇1

算法学习——LeetCode力扣贪心篇1 455. 分发饼干 455. 分发饼干 - 力扣&#xff08;LeetCode&#xff09; 描述 假设你是一位很棒的家长&#xff0c;想要给你的孩子们一些小饼干。但是&#xff0c;每个孩子最多只能给一块饼干。 对每个孩子 i&#xff0c;都有一个胃口值 g[…

Vulnhub靶机:DC3

一、介绍 运行环境&#xff1a;Virtualbox 攻击机&#xff1a;kali&#xff08;10.0.2.15&#xff09; 靶机&#xff1a;DC3&#xff08;10.0.2.56&#xff09; 目标&#xff1a;获取靶机root权限和flag 靶机下载地址&#xff1a;https://www.vulnhub.com/entry/dc-32,312…

[Python人工智能] 四十一.命名实体识别 (2)基于BiGRU-CRF的中文实体识别万字详解

从本专栏开始,作者正式研究Python深度学习、神经网络及人工智能相关知识。前文讲解如何实现威胁情报实体识别,利用BiLSTM-CRF算法实现对ATT&CK相关的技战术实体进行提取,是安全知识图谱构建的重要支撑。这篇文章将以中文语料为主,介绍中文命名实体识别研究,并构建BiGR…

总结FreeRTOS中的任务调度算法,空闲任务,任务状态等概念。

任务调度算法 抢占式调度&#xff1a;高优先级的任务优先执行&#xff0c;并且可以打断低优先级的任务执行。 时间片轮转&#xff1a;相同优先级的任务&#xff0c;拥有相同的时间片&#xff0c;当时间片被耗尽&#xff0c;就退出当前任务。 空闲任务 空闲指的就是当系统中…