Leetcode 3026. Maximum Good Subarray Sum

  • Leetcode 3026. Maximum Good Subarray Sum
    • 1. 解题思路
    • 2. 代码实现
  • 题目链接:3026. Maximum Good Subarray Sum

1. 解题思路

这一题的话主要就是要快速遍历所有的good subarray并快速获得每一个good subarray的和的最大值。

因此,问题就主要就成了两个问题:

  1. 如何快速找到所有的good subarray
  2. 对任意一个good subarray,如何快速求得其和

对于第二个问题,我们只需要用累积数组即可求得,对于任意一个已知首尾的subarray,我们将累积数组相减即可得到其对应的subarray的元素之和。

而对于第一个问题,我们只需要记录一下所有之前元素作为起始坐标时的位置即可。

更进一步地,由于我们只需要计算和的最大值,因此对于任意相同的元素作为开始坐标时,我们只需要保留其前部元素的最小值即可。

2. 代码实现

给出python代码实现如下:

class Solution:def maximumSubarraySum(self, nums: List[int], k: int) -> int:cumsums = list(accumulate(nums, initial=0))ans = -math.inf_min= {}def get_max_sub(s, tgt):return s - _min.get(tgt, math.inf)for i, x in enumerate(nums):s = cumsums[i+1]ans = max(ans, get_max_sub(s, x-k), get_max_sub(s, x+k))_min[x] = min(_min.get(x, math.inf), s-x)return ans if ans != -math.inf else 0

提交代码评测得到:耗时1093ms,占用内存30.6MB。

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

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

相关文章

蓝桥杯刷题--python-2

0星期一 - 蓝桥云课 (lanqiao.cn) import datetimestart = datetime.date(1901, 1, 1) end = datetime.date(2000, 12, 31)res = 0 while not start > end:if start.weekday() == 0:res += 1start += datetime.timedelta(days=1) print(res)datetime 模块 import datetime…

容器和镜像

容器和镜像是现代软件开发和部署中重要的概念,它们通常与容器化技术(如Docker)相关联。以下是它们的基本定义和关系: 容器(Container): 容器是一种轻量级、可移植的运行环境,其中包含了应用程序及其依赖项(…

简单实践 spring clound 使用openfeign

1.概要 这是在前面工程基础上的一个变更。 前工程&#xff1a;检查实验 spring cloud nacos nacos-server-2.3.0-CSDN博客 2 代码 2.1 引入依赖 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-open…

您企业的(AI)人工智能处于哪个准备阶段?

全新AI准备度评估工具现已推出 根据Gartner 2020年CIO调查报告&#xff0c;仅19%的首席信息官声称其AI项目已投产。这意味着&#xff0c;如果要将AI计划部署到生产过程中&#xff0c;高达80%的企业无法实现。我们发现&#xff0c;澳鹏客户取得成功的几率要高出三倍&#xff0c…

一个运维团队最缺什么样的领导

摘要&#xff1a; 技术专业知识&#xff1a;作为技术领导者&#xff0c;你需要具备深入的技术专业知识&#xff0c;了解行业的最新趋势和发展。这样你才能更好地理解团队面临的技术挑战&#xff0c;并提供准确的指导和决策。 领导力&#xff1a;作为领导者&#xff0c;你需要…

孙子定理和“物不知数”问题

孙子定理和“物不知数”问题 孙子定理&#xff0c;也称为中国剩余定理或中国余数定理。孙子定理是中国古代求解一次同余式组&#xff08;见同余&#xff09;的方法。此定理&#xff0c;在公元5-6世纪的中国南北朝时期的数学家孙子提出的“物不知数”问题可以被视为中国剩余定…

C++类与对象(下)

前言&#xff1a;哈喽小伙伴们&#xff0c;这篇文章我们将继续分享类与对象的剩余知识。 目录 一.const修饰成员函数 二.再谈构造函数 三.友元 1.友元函数 2.友元类 总结 一.const修饰成员函数 我们都知道const是一个将变量定义为静态的关键字&#xff0c;使其不能被修改…

C语言之自定义类型:结构体

目录 1. 结构体类型的声明结构体回顾结构的声明 2. 结构体变量的创建和初始化结构体的特殊声明结构体的自引用 3. 结构体内存对齐对齐规则对齐规则练习1对齐规则练习2对齐规则练习3对齐规则练习4 为什么存在内存对齐offsetof - 计算结构体成员相较于起始位置的偏移量修改默认对…

道可云元宇宙每日资讯|北京:推进元宇宙在智慧城市应用

道可云元宇宙每日简报&#xff08;2024年2月2日&#xff09;讯&#xff0c;今日元宇宙新鲜事有&#xff1a; 石狮市检察院“元宇宙智慧展馆”正式启用 为深入实施数字检察战略&#xff0c;主动探索元宇宙技术在未成年人检察、公益诉讼检察等方面的应用&#xff0c;打造集案件…

Qt应用软件【协议篇】MQTT协议介绍

文章目录 MQTT简介QT中MQTT的源码什么是 MQTT?MQTT 的工作原理MQTT 的工作流程MQTT 的应用场景智能家居工业物联网(IIoT)车联网环境监测医疗健康物流与供应链智能能源公共安全基于传输层TCP协议上的MQTT应用层协议

Java学习笔记2024/2/4

1. 方法(接2024/2/3笔记) 1.4 方法的内存 package com.angus.method.theMemoryOfMethod_4;public class note {public static void main(String[] args) {//方法的内存 ->讲到内存就要联系内存图来理解//将学习以下3种内存//1.方法调用的基本内存原理//就是进栈出栈//先进…

协同办公的2024开年大战,打的就是“超级助理”

文|智能相对论 作者|沈浪 开年&#xff0c;腾讯发布了一份报告《影响2024年的十大科技应用趋势》。其中提到&#xff0c;从大脑到Agent&#xff0c;大模型从CoPilot副驾&#xff0c;走向主驾驶。在不久的将来&#xff0c;任何上网的人都将能够拥有由人工智能驱动的个人助手&a…

Java学习-内部类

内部类概述 1.成员内部类 注意&#xff1a; 2.静态内部类 3.局部内部类&#xff08;看看就行&#xff09; 4.匿名内部类 应用场景&#xff1a;通常作为一个参数传给方法 Eg.小猫和小狗都参加游泳比赛

【算法】{画决策树 + dfs + 递归 + 回溯 + 剪枝} 解决排列、子集问题(C++)

文章目录 1. 前言2. 算法例题 理解思路、代码46.全排列78.子集 3. 算法题练习1863.找出所有子集的异或总和再求和47.全排列II17.电话号码的字母组合 1. 前言 dfs问题 我们已经学过&#xff0c;对于排列、子集类的问题&#xff0c;一般可以想到暴力枚举&#xff0c;但此类问题用…

单片机的50个电路

单片机 电源 声音模块 收音机 485 蓝牙 光耦 can 光敏电阻 单片机 矩阵 单片机电路 时钟 ADC 接口电路 红外发射 显示模块 红外接收 蜂鸣器驱动 流水灯 usb供电 烧录电路 数码管 EEPROM LCD1602电路 数码管 max485 红外开关 译码器 移位寄存器 步进电机控制 复位电路 下载电路 …

基于springboot智慧养老平台源码和论文

首先,论文一开始便是清楚的论述了系统的研究内容。其次,剖析系统需求分析,弄明白“做什么”,分析包括业务分析和业务流程的分析以及用例分析,更进一步明确系统的需求。然后在明白了系统的需求基础上需要进一步地设计系统,主要包罗软件架构模式、整体功能模块、数据库设计。本项…

挑战!贪吃蛇小游戏的实现(1)

引言 相信大家都玩过贪吃蛇这个游戏&#xff01; 玩家控制一个不断移动的蛇形角色&#xff0c;在一个封闭空间内移动。随着时间推进&#xff0c;这个蛇形角色会逐渐增长&#xff0c;通常是通过吞食屏幕上出现的物品&#xff08;如点或者其他标志&#xff09;来实现。每当贪吃…

《低功耗方法学》翻译——附录B:UPF命令语法

附录B&#xff1a;UPF命令语法 本章介绍了文本中引用的所选UPF命令的语法。 节选自“统一电源格式&#xff08;UPF&#xff09;标准&#xff0c;1.0版”&#xff0c;经该Accellera许可复制。版权所有&#xff1a;(c)2006-2007。Accellera不声明或代表摘录材料的准确性或内容&…

Leetcode 3031. Minimum Time to Revert Word to Initial State II

Leetcode 3031. Minimum Time to Revert Word to Initial State II 1. 解题思路2. 代码实现 题目链接&#xff1a;3031. Minimum Time to Revert Word to Initial State II 1. 解题思路 这一题就是一个z算法的题目&#xff0c;算是比较套路的题目了。 关于z算法&#xff0c…

monaco-editor布局篇(二)-自动换行

monaco-editor的换行方式&#xff0c;主要分为3种情况&#xff1a; 不换行按照编辑器宽度换行按照制定列数换行 主要受wordwrap和wordwrapcolumn控制&#xff0c;具体如下&#xff1a; 取值含义off不换行&#xff0c;会一直滚动on换行&#xff0c;文本将在视区宽度内自动换行…