当前位置: 首页 > news >正文

【leetcode复健-11】53. 最大子数组和-滑动窗口

53. 最大子数组和 - 力扣(LeetCode)

给你一个整数数组nums,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。

子数组是数组中的一个连续部分。

示例 1:

输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。

示例 2:

输入:nums = [1]输出:1

示例 3:

输入:nums = [5,4,-1,7,8]输出:23

提示:

  • 1 <= nums.length <= 105
  • -104 <= nums[i] <= 104

题目分析

如果写过一些滑动窗口的题目就会发现,这题其实不难,想到了就能很快写出来。
给定一个数组,找出一个和最大的连续子数组
这题的关键在于判断子数组是否为有效数组,假设存在一组子数组,如果子数组为正,则该子数组对后续数组是有贡献的,如果非正,则该子数组对后续没有任何贡献,可以舍弃。
根据这个思路,我们可以从左往右遍历一遍数组,遍历的过程中不断累加当前值并判断是否要更新最大子数组,倘若当前累加值非正,则代表前面的数组对后续计算没有任何贡献,可以舍弃,更新当前数组起点。
此外由于这道题只要求我们返回数值,因此我们可以避免使用指针,使用 for 循环解决

代码思路

存两个变量max_sum、cur_sum保存最大和、当前和

for循环遍历

每次循环累加 cur_sum 的值,并时刻更新 max_sum ,当 当前遍历的元素大于cur_sum时,说明之前累加的数小于0,对之后的子数组无贡献,更新 cur_sum 变成当前元素。

一轮循环后即可找出最大子数组之和

正确代码

class Solution: def maxSubArray(self, nums: List[int]) -> int: max_sum = cur_sum = nums[0] for i in range(1, len(nums)): cur_sum = max(cur_sum + nums[i], nums[i]) max_sum = max(max_sum, cur_sum) return max_sum
http://www.jsqmd.com/news/1400896/

相关文章:

  • 2026实力之选:深圳通信工程监理资质乙级代办服务公司专业能力与交付体系透视 - 卓企推荐
  • 酒店机器人商业落地困境:技术、成本与价值重构分析
  • 一文讲透 Spring AOP、Bean 作用域与事务:从代理机制到事务失效
  • 基于OpenClaw与Playwright的小红书自动化发文系统构建指南
  • OpenAI服务额度管理:从付费重置到高效使用策略
  • Ubuntu国内镜像源配置全攻略:APT换源原理与实战优化
  • Java Web调试端口冲突:从JPDA原理到Tomcat/WildFly实战解决
  • Windows 10家庭版MySQL 8.0安装初始化无响应问题深度排查与实战部署指南
  • 基于Tampermonkey的网页视频自动连播脚本开发实战
  • 图标设计尺寸与栅格模板指南
  • 一款MIT协议开源-免费任意商用的在线绘制流程图工具
  • 大语言模型智能体效率优化:GitHub脚本化技能实战
  • 手把手教你学 Simulink—— 航空电机泵用多级离心泵电机的轴向力平衡控制仿真
  • Win10深色模式全攻略:从护眼原理到自动切换与排错
  • 2026广东港口与航道监理乙级资质代办公司实力观察:专业度与效率的双重考量 - 卓企推荐
  • 阿里云Model Studio上下文缓存:大模型API调用降本增效实战指南
  • 信号量与互斥体对zynqMP的ps_led的互斥访问
  • 遗传算法优化电力交易决策:Python实现与工程实践
  • 金融级AI应用实战:从零构建可复现的信用评分预测服务
  • CentOS6.5 虚拟机部署 iSCSI 存储 + multipath 多路径完整实操
  • 01-03-运行时-类型加载器-从IL元数据到运行时类型
  • 生产环境 Agent 人工审批环节:从 0 到 1 技术实现与用户操作指南
  • 线程池如何调优?
  • MySQL、Oracle、SQL Server查询当前时间函数全解析与跨数据库实践
  • Windows CMD FOR命令深度解析:从基础循环到自动化脚本引擎
  • 构建个人数据库知识库:从原理到实战的十万字笔记方法论
  • 经典PID与模糊PID控制:原理对比、仿真实现与工程选型指南
  • 武汉考研机构推荐2026哪家好 - 弘毅考研
  • PTA团体程序设计天梯赛L1真题讲解L1-077-080
  • Nginx安全配置实战:从基础代理到多层拉黑策略