【普通数组】LC 53.最大子数组和

发布时间:2026/8/24 19:54:25

【普通数组】LC 53.最大子数组和
文章目录前言一、题目1、原题链接2、题目描述二、个人思路整理1、思路分析2、解题代码未优化空间复杂度代码优化空间复杂度代码三、知识风暴前言本专栏文章为《LeetCode 热题 100》的刷题题解相关内容如有侵权立即删除。一、题目1、原题链接53.最大子数组和2、题目描述二、个人思路整理1、思路分析核心思路动态规划Kadane算法状态定义设dp[i]表示以nums[i]结尾的连续子数组的最大和。转移方程d p [ i ] max ⁡ ( d p [ i − 1 ] n u m s [ i ] , n u m s [ i ] ) dp[i] \max(dp[i - 1] nums[i], nums[i])dp[i]max(dp[i−1]nums[i],nums[i])若前面的累加和d p [ i − 1 ] 0 dp[i-1] 0dp[i−1]0加上当前值有增益若d p [ i − 1 ] ≤ 0 dp[i-1] \le 0dp[i−1]≤0前面的和只会拖累当前值直接从n u m s [ i ] nums[i]nums[i]重新开始。空间优化因为dp[i]只与dp[i-1]有关可用一个变量cur_sum滚动维护将空间复杂度降至O ( 1 ) O(1)O(1)。2、解题代码未优化空间复杂度代码classSolution{public:intmaxSubArray(vectorintnums){vectorintdp(nums.size());// 初始化以nums[0]结尾的子数组只有nums[0]本身dp[0]nums[0];// 记录遍历过程中出现的全局最大子数组和intansdp[0];for(inti1;inums.size();i){dp[i]max(dp[i-1]nums[i],nums[i]);// 每推导出一个dp[i]就尝试更新全局最大值// 注意最终答案不一定是dp[nums.size() -1]而是整个dp数组中的最大值ansmax(ans,dp[i]);}returnans;}};复杂度分析时间复杂度O ( n ) O(n)O(n)只需单层 for 循环线性扫描一次数组。空间复杂度O ( n ) O(n)O(n)显式创建了长度为n nn的 dp 数组存储中间状态。优化空间复杂度代码classSolution{public:intmaxSubArray(vectorintnums){intmax_sumnums[0];intcur_sumnums[0];for(inti1;inums.size();i){cur_summax(nums[i],cur_sumnums[i]);max_summax(max_sum,cur_sum);}returnmax_sum;}};复杂度分析时间复杂度O ( n ) O(n)O(n)只需单层 for 循环线性扫描一次数组。空间复杂度O ( 1 ) O(1)O(1)两个int变量空间。三、知识风暴Kadane算法是解决最大子数组和问题的经典动态规划算法由计算机科学家Jay Kadane于1984年提出。该算法以其简洁高效著称时间复杂度为O(n)空间复杂度可优化至O(1)。算法核心思想局部最优与全局最优Kadane算法的核心是维护两个变量cur_sum以当前位置结尾的最大子数组和局部最优max_sum遍历过程中遇到的最大子数组和全局最优贪心选择对于每个元素nums[i]要么将其加入前面的子数组cur_sum nums[i]要么从它开始新的子数组nums[i]取两者中的较大值作为新的cur_sum。状态转移cur_sum max(nums[i], cur_sum nums[i])算法变体与扩展返回子数组位置修改算法以记录最大子数组的起始和结束索引。处理全负数数组标准Kadane算法能正确处理全负数数组返回最大的单个负数。环形数组最大子数组和通过分析两种情况不跨越边界和跨越边界来解决。二维矩阵最大子矩阵和通过压缩行转化为一维问题再应用Kadane算法。与其他算法的对比暴力法O(n²)时间复杂度枚举所有子数组。分治法O(n log n)时间复杂度将问题分解为左半部分、右半部分和跨越中点的子数组。Kadane算法O(n)时间复杂度是最优解。相关 LeetCode 例题53. 最大子数组和本题152. 乘积最大子数组类似思路但需要考虑正负号918. 环形子数组的最大和Kadane算法的环形变体363. 矩形区域不超过 K 的最大数值和二维扩展难度较高

相关新闻

Video2X 免费 AI 视频放大与补帧完整指南:低清片快速变高清

Video2X 免费 AI 视频放大与补帧完整指南:低清片快速变高清

2026/8/24 19:54:25

Video2X 免费 AI 视频放大与补帧完整指南:低清片快速变高清 【免费下载链接】video2x A machine learning-based video super resolution and frame interpolation framework. Est. Hack the Valley II, 2018. 项目地址: https://gitcode.com/GitHub_Trending/vi/…

n8n:支持 1500 多个集成应用的 AI 智能体与工作流自动化平台

n8n:支持 1500 多个集成应用的 AI 智能体与工作流自动化平台

2026/8/24 19:54:25

【导语:n8n 是一个遵循公平代码原则的平台,可用于构建和部署 AI 智能体与工作流。它结合可视化画布与自定义代码,支持本地或云端运行,能连接 1500 多个集成应用,为实际工作提供 AI 自动化解决方案。】原生 AI 自动化&a…

主流的移动端默认浏览器某网址的快捷方式的创建

主流的移动端默认浏览器某网址的快捷方式的创建

2026/8/24 19:54:25

一、华为浏览器(华为 / 荣耀 EMUI / MagicUI / 鸿蒙 HarmonyOS) 在桌面找到 华为浏览器 图标(蓝色圆形,写有"浏览器"或"华为浏览器"),点开。点顶部地址栏,输入网址&#…

React 表格底层原语 @rc-component/table 实战指南

React 表格底层原语 @rc-component/table 实战指南

2026/8/24 21:14:28

React 表格底层原语 rc-component/table 实战指南 【免费下载链接】table 📋 Low-level table primitives for React, maintained in the Ant Design ecosystem. 项目地址: https://gitcode.com/gh_mirrors/tab/table 写数据管理页面时,Ant Desig…

老 Mac 接投影仪无画面?OpenCore Legacy Patcher 多屏输出实操

老 Mac 接投影仪无画面?OpenCore Legacy Patcher 多屏输出实操

2026/8/24 21:14:28

老 Mac 接投影仪无画面?OpenCore Legacy Patcher 多屏输出实操 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 把老 Mac 接到会议室投影仪&#x…

3 步用 Bypass Paywalls Clean Filters 免费读完被付费墙挡住的文章

3 步用 Bypass Paywalls Clean Filters 免费读完被付费墙挡住的文章

2026/8/24 21:14:28

3 步用 Bypass Paywalls Clean Filters 免费读完被付费墙挡住的文章 【免费下载链接】bypass-paywalls-clean-filters 项目地址: https://gitcode.com/gh_mirrors/by/bypass-paywalls-clean-filters 深度报道读到一半,页面下半截突然换成"订阅才能看&q…

GetQzonehistory 快速入门教程:把QQ空间历史说说、配图和评论一次性备份到本地

GetQzonehistory 快速入门教程:把QQ空间历史说说、配图和评论一次性备份到本地

2026/8/24 21:14:28

GetQzonehistory 快速入门教程:把QQ空间历史说说、配图和评论一次性备份到本地 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory QQ空间没有官方的数据导出入口,想…

抖音无水印批量下载完整指南:视频、图集与直播

抖音无水印批量下载完整指南:视频、图集与直播

2026/8/24 21:14:28

抖音无水印批量下载完整指南:视频、图集与直播 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. 抖音…

DashPlayer 长视频分割工具:把12小时课程切成可离线学习的分段

DashPlayer 长视频分割工具:把12小时课程切成可离线学习的分段

2026/8/24 21:04:28

DashPlayer 长视频分割工具:把12小时课程切成可离线学习的分段 【免费下载链接】DashPlayer 为英语学习者量身打造的视频播放器,助你通过观看视频、沉浸真实语境,轻松提升英语水平。#美剧 #播放器 #听力 项目地址: https://gitcode.com/Git…

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

2026/8/24 19:53:32

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

2026/8/24 19:56:07

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

2026/8/24 21:16:09

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

OpenModScan:免费跨平台 Modbus 主站调试工具,让现场通讯验证一键搞定

OpenModScan:免费跨平台 Modbus 主站调试工具,让现场通讯验证一键搞定

2026/8/24 0:03:28

OpenModScan:免费跨平台 Modbus 主站调试工具,让现场通讯验证一键搞定 【免费下载链接】OpenModScan Open ModScan is a Free Modbus Master (Client) Utility 项目地址: https://gitcode.com/gh_mirrors/op/OpenModScan OpenModScan 是一款开源免…

WechatHook 终极指南:5大核心能力详解,3分钟看懂微信自动化

WechatHook 终极指南:5大核心能力详解,3分钟看懂微信自动化

2026/8/24 0:03:28

WechatHook 终极指南:5大核心能力详解,3分钟看懂微信自动化 【免费下载链接】WechatHook Enjoy hooking wechat by Xposed....Accessibility...and so on... 项目地址: https://gitcode.com/gh_mirrors/we/WechatHook WechatHook 是一个基于 Xpos…

如何在ThinkPad X390上安装macOS:OpenCore EFI完整指南

如何在ThinkPad X390上安装macOS:OpenCore EFI完整指南

2026/8/24 0:03:28

如何在ThinkPad X390上安装macOS:OpenCore EFI完整指南 【免费下载链接】ThinkpadX390-Opencore-EFI macOS Catalina & Big Sur & Monterey on ThinkPad X390 (Hackintosh) 项目地址: https://gitcode.com/gh_mirrors/th/ThinkpadX390-Opencore-EFI …

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/22 2:02:26

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/22 4:13:47

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/22 1:32:34

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…