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

发布时间:2026/10/6 22:50:30

【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
延伸阅读

更多相关文章

2026/10/6 12:49:29

豆包深度技术拆解:从 Seed 基座到 Agent 时代,聊聊豆包现在与未来

作者:黒漂技术佬本文面向 AI 入门开发者、嵌入式与后端技术爱好者,避开枯燥跑分内卷,从底层架构、产品技术路线、优势短板、长期演进方向完整剖析豆包,适合想看懂国产通用大模型商业化路径的朋友。很多新手提起豆包,第…

2026/9/27 22:07:28

Java Web调试端口冲突:从JPDA原理到Tomcat/WildFly实战解决

1. 项目概述:调试端口冲突的典型困境 “无法打开调试器端口 (java.net.SocketException ‘Interrupted function c’)”,这个报错对于任何使用 Tomcat 或 WildFly(现名 WildFly,曾用名 JBoss AS)进行 Java Web 开发的工…

2026/10/3 21:53:39

Python 3.9与PyCharm环境搭建:从安装到高效配置的完整指南

1. 从零开始的Python开发环境搭建:为什么是Python 3.9与PyCharm?如果你正准备踏入Python开发的大门,或者想为你的机器、数据分析项目搭建一个稳定、高效的本地环境,那么“安装Python 3.9并配置PyCharm”几乎是每个开发者都会经历的…

2026/10/6 22:49:51

WSL多环境完全指南:多发行版安装、复制与Docker导入实战

Windows 上装了 WSL 之后,很多人都会产生同一个疑问:一台机器上到底能不能同时跑好几个不同的 Linux 环境?我最早用 WSL 时也以为它只能装一个 Ubuntu,直到后来做项目需要同时用 Ubuntu、Debian 和 Kali 才去认真研究多发行版的玩…

2026/10/6 22:49:51

Redis缓存设计实战:穿透、击穿、雪崩与一致性全解

做过几年后端,跟缓存打了太多照面。有一次线上事故印象特别深:一个读接口平时响应 50ms,因为并发上来,团队决定加一层 Redis 缓存。结果加完之后,接口响应直接飙到 800ms,数据库倒是没事了,Redi…

2026/10/6 22:49:51

UDP Socket编程实战:用Linux手写一个无状态字典服务

前阵子做Linux下的Socket编程练习,把之前课程设计里的TCP版词典服务重写了一遍,这次干脆换成了UDP协议。项目核心很简单:一个运行在Linux上的Dict Server,客户端发来一个英文单词,服务端在本地词典里查一下&#xff0c…

2026/10/6 22:49:51

TCP/IP协议栈实战:从分层原理到三次握手与抓包排查

先给你一个我们实际推演过的类比:TCP/IP协议栈就像一家快递公司的完整物流体系。包裹从你手里发出,经过营业部、分拣中心、干线运输、末端派送,最终送到对方手上。TCP/IP协议栈干的就是同一件事——只不过它送的包裹是数据,全局没…

2026/10/6 22:44:50

角度转弧度节点深度拆解:数学原理、游戏引擎与ComfyUI应用

1. 先把这个“角度转弧度”节点聊明白做可视化编程的朋友,几乎都绕不过DegreesToRadians这个节点。不管你是玩Unreal蓝图、Unity的Visual Scripting、Godot的可视化脚本,还是用ComfyUI搭图像处理工作流,只要涉及旋转、朝向、圆形分布这类数学…

2026/10/5 6:32:56

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/6 4:01:51

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/6 17:46:51

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 0:03:23

MR25H40CDF+STM32F031C6工业级高可靠数据存储方案

1. 项目概述:为什么在工业现场非得用 MR25H40CDF 配 STM32F031C6 做数据存储?在工厂产线的 PLC 控制柜里、在风电变流器的散热片背面、在矿井监测终端的金属外壳下,你经常能看到一块指甲盖大小的黑色芯片——它既不是 Flash,也不是…

2026/10/6 0:03:23

MRAM+STM32工业断电数据保全实战指南

1. 项目概述:为什么在工业现场非得用 MR25H40CDF 配 STM32F031C6 做数据存储?在工厂产线的PLC柜里、在野外无人值守的环境监测终端里、在高速运转的包装机控制板上,你经常能看到一块指甲盖大小的黑色芯片,旁边贴着“MR25H40CDF”丝…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑