代码随想录27期|Python|Day32|122.买卖股票的最佳时机II|55. 跳跃游戏|45.跳跃游戏II

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

本题的思路和昨天的最大子序列和是一致的。都是只考虑正数对于总和的增益,遇到负数选择跳过。

在这里有一个计算股价利润的方式:一段时间的总利润 = 这期间每两天之差的和。

也就是nums[i + j] = nums[i] + nums[i-1] + ... + nums[i + j] - nums[i + j -1]

那么最大利润就是所有的两天之间正数差值的总和。

class Solution(object):def maxProfit(self, prices):""":type prices: List[int]:rtype: int"""res = 0for i in range(1, len(prices)):res += max(prices[i] - prices[i - 1], 0)return res

55. 跳跃游戏

思路:每一个下标都对应一个最远能到达的下标(reach),只需要检查每一个字符能到达的最大下标即可。

for循环遍历数组,在最大可到达下标值不是本下标(也就不是0)的情况下更新reach的值;一旦找到大于最后一个下标的reach就返回True,否则继续更新,直到当前下标和当前reach相等(说明遇到全部都走到0的情况了)不再更新reach。

class Solution(object):def canJump(self, nums):""":type nums: List[int]:rtype: bool"""reach = 0if len(nums) == 1:return Truefor i in range(len(nums)):if i <= reach:  # 当前下标不是最大可达下标的时候继续更新reach = max(i + nums[i], reach)if reach >= len(nums) - 1:  # 最大可达下标大于末尾下标即可返回return Truereturn False

45. 跳跃游戏 II

思路:本题和上面一题有很大的区别,也就是如何判断已经覆盖的基础上考虑记录步长。

class Solution(object):def jump(self, nums):""":type nums: List[int]:rtype: int"""nxt_reach = 0cur_reach = 0res = 0if len(nums) == 1:return 0for i in range(len(nums)):nxt_reach = max(nxt_reach, i + nums[i])if i == cur_reach:res += 1cur_reach = nxt_reach# 在上一步和现在到达的位置中间,nxtreach是否已经可达终点,如果是,那么两步之内必然可以结束if nxt_reach >= len(nums) - 1:breakreturn res

第32天完结🎉

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

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

相关文章

Apache配置与应用

Apache配置与应用 1.Apache连接保持 HTTP 是属于应用层的面向对象协议&#xff0c; 基于 TCP 协议之上的可靠传输。 每次在进行HTTP 连接之前&#xff0c; 需要先进行 TCP 连接&#xff0c; 在 HTTP 连接结束后要对 TCP 连接进行终止&#xff0c; 每个 TCP 连接都需要进行三次…

fabric学习

1.通过connection连接远程主机&#xff0c;并执行命令 from fabric import connectioncon1 connection.Connection(host10.10.102.198, userroot, port22, connect_kwargs{"password":"HCCloud2022CN"}) con1.run(free -h) 2.上传压缩文件到主机指定目录…

深入理解CRON表达式:时间调度的艺术

&#x1f604; 19年之后由于某些原因断更了三年&#xff0c;23年重新扬帆起航&#xff0c;推出更多优质博文&#xff0c;希望大家多多支持&#xff5e; &#x1f337; 古之立大事者&#xff0c;不惟有超世之才&#xff0c;亦必有坚忍不拔之志 &#x1f390; 个人CSND主页——Mi…

《作家天地》期刊投稿邮箱投稿方式

《作家天地》是国家新闻出版总署批准的正规文学刊物。对各种流派的作品兼收并蓄&#xff0c;力求题材、形式、风格多样化&#xff0c;适用于发表高品质文学学术作品&#xff0c;科研机构的专家学者以及高等院校的师生等。具有原创性的学术理论、工作实践、科研成果和科研课题及…

javascript 常见工具函数(二)

11.数组等分切片&#xff1a; this.newMapList []; for (var i 0; i < this.mapDataList.length; i 2) {this.newMapList.push(this.mapDataList.slice(i, i 2)); } 12.js做奇偶判断&#xff1a; if (this.mapDataList.length ! 0) {this.mapDataList.length % 2 0 ?…

从0到1入门C++编程——03 内存分区、引用、函数高级应用

文章目录 一、内存分区二、引用三、函数的高级应用1.默认参数2.占位参数3.函数重载 一、内存分区 C程序在执行时&#xff0c;会将内存大致分为4个区&#xff0c;分别是代码区、全局区、栈区和堆区。 代码区用来存放函数体和二进制代码&#xff0c;由操作系统进行管理。 全局区…

js统一公共请求处理与常用工具封装

一个完整的前端项目往往会进行一些必要的抽取公用代码进行封装&#xff0c;这里记录js常用工具及统一的公共请求的封装。 一 2017年 第一版web管理后台在用 web后台管理页面用 /*** Created by hua on 2017/8/24.*/ var requestResult{success :0,failure:1,failureMsg:2 }j…

Ubuntu上使用node搭建本地静态http服务器

1.搭建步骤 1.安装Node.js。首先确保你的Ubuntu系统已经安装了Node.js。如果没有安装&#xff0c;可以通过以下命令进行安装&#xff1a; sudo apt-get update sudo apt-get install nodejs #安装nodejs 2.安装npm。npm是Node.js的包管理器&#xff0c;一般会随着Node.js一…

[python]项目中导入外部包

导入外部包是在Python项目中使用外部库或模块。以下是一些导入外部包的常见方法&#xff1a; 使用import语句导入整个外部包&#xff1a; import package_name例如&#xff0c;导入numpy包&#xff1a; import numpy使用import语句给导入的外部包指定别名&#xff1a; impo…

SQL优化:条件提升

前面我们讲解了下分区表,分区表能提升性能,核心原理在于减少了需要加载的数据量。 我们所有的优化思路,基本都出自两个基本点: 以空间换时间;缩小需要处理的数据量。使用索引、物化视图是以空间换时间的典例,分区表,则是缩小需要处理的数据量的典例。 今天我们讲的条件…

Minio部署在服务器上,分享图片等文件提示,签名不对

问题描述: 上传没问题 下载没问题 就是分享有问题,签名有问题 找了很多解释,什么nginx代理问题啊,什么端口问题啊 什么防火墙问题啊 都是扯淡,一点用没有 最后发现,我的分享链接是127.0.0.1的地址,并不是我的服务器本机的地址 我访问图片都是要把ip改了再去访问,但是一开始并没…

HttpSession的使用

1 HttpSession 概述 在 Java Servlet API 中引入 session 机制来跟踪客户的状态。session 指的是在一段时间内&#xff0c;单个客户与 Web 服务器的一连串相关的交互过程。在一个 session 中&#xff0c;客户可能会多次请求访问同一个网页&#xff0c;也有可能请求访问各种不同…

【JavaSE】P1~P32 进制,字节,Java代码规范,常量,变量,运算符

目录 IDEA常用快键键和快捷用法一、需要复习的重难点概念1 进制、字节、DOS操作命令语句进制及转化字节DOS系统命令提示符 2 Java 常用代码规范3 常量及常量的打印4 变量数据类型及取值范围变量的概念和使用数据类型转换ASCII码表&#xff08;128种&#xff09;基本数据类型极其…

显示所有中国城市需要多少个汉字?

显示所有中国城市需要多少个汉字呢&#xff1f; 需要3678个汉字&#xff0c;看看我怎么知道的。 第一步&#xff1a;先找到中国的所有城市的名称 去哪里找到中国的所有城市的名称呢&#xff1f; 进入中国天气网&#xff1a;http://www.weather.com.cn/ 使用 F12 打开浏览器的调…

记 -bash: docker-compose: command not found 的问题解决

docker-compose: command not found 错误表明系统无法找到 docker-compose 命令。这可能是因为 docker-compose 并未正确安装&#xff0c;或者其可执行文件的路径未包含在系统的 PATH 变量中。 以下是我遇到时解决方法&#xff1a; 确保 Docker 和 Docker Compose 已安装&…

Excelize 入选“2023开源创新榜”优秀开源项目

近日&#xff0c;由中国科协科学技术传播中心、中国计算机学会、中国通信学会、中国科学院软件研究所共同主办&#xff0c;CSDN 承办的 2023 开源创新榜专家评审会在国家科技传播中心成功举办。Excelize 电子表格文档开源基础库入选“2023开源创新榜”优秀开源项目。 评审委员…

#CCSP学习心得总结:2023年新收获CCSP云安全认证

源自&#xff1a;张同学 选择CCSP的原因 选择学习CCSP的原因比较简单&#xff0c;公司这几年开始发力布局云原生和云安全的业务&#xff0c;作为云安全相关知识领域的补充渠道&#xff0c;我对比了CCSP和CCSK&#xff0c;最终选择了综合性较高的CCSP。由于我之前已经拿下了CIS…

【MCAL】AUTOSAR架构下PWM模块配置实践

目录 前言 1.MCAL简介 2. PWM模块详解 2.1 PWM模块概念介绍 2.2 PWM依赖的模块 2.3 PWM频率<

SwiftUI 打造一款可收缩的 HStack(二):对齐+ZStack

概览 在上篇 SwiftUI 打造一款可收缩的 HStack(一):“原汤化原食” 博文里,我们讨论了如何用 HStack 自身来实现可收缩的“HStack”。 而在本篇中,我们将尝试利用 SwiftUI 对齐 + ZStack 的方式完成相同的功能。 在本篇博文中,您将学到以下内容: 概览1. SwiftUI 中的对…

商业综合体能源管理系统功能有哪些?能够为企业带来哪些价值?

随着IT行业的迅猛发展&#xff0c;仅仅实现智能控制已无法满足当前绿色低碳发展的要求&#xff0c;随着智能设备的增多&#xff0c;同时也产生了越来越多的信息孤岛。通过信息技术构建能源管理系统&#xff0c;可以实现先进、智能、经济、可行的商业综合体能源管理解决方案。 …