尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

13 最大子数组和

13 最大子数组和
📅 发布时间:2026/8/2 11:09:57

给你一个整数数组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

进阶:如果你已经实现复杂度为O(n)的解法,尝试使用更为精妙的分治法求解。

思路

1、核心思想就是定义窗口累加,如果当前累加值是负数,那么累加清零(),窗口从下一个数开始,从下一个数开始累加。

2、定义一个窗口和的数 Num和记录最大窗口和的数NumMax。定义一个左指针和右指针,左指针指向窗口开始的位置,右指针指向窗口结束的位置。

3、进入循环,将右指针加入窗口,计算窗口和,对比窗口和与NumMax谁更大,NumMax记住最大的值。

4、比较当前窗口和与下个数字的和大还是下个数字大。

5、假如下一个数字更大,那么窗口left和right重新指向下一个数字。

6、假如当前窗口和加上下一个数字更大,那么right继续往前走,计算窗口和。

7、判断循环结束条件,当right走到数组边界时结束,返回NumMax。

class Solution { public: int maxSubArray(vector<int>& nums) { int n=nums.size(); if(n<1) return 0; int Sum=0; int max_sum=-INT_MAX; int left=0; int right=0; while(right<n){ if(Sum<0){ left=right; Sum=nums[right]; max_sum=max_sum>Sum?max_sum:Sum; right++; continue; } Sum+=nums[right]; max_sum=max_sum>Sum?max_sum:Sum; right++; } return max_sum; } };

相关新闻

  • PCB层压参数系统性收集:从板材Dk/Df到阻抗精准控制
  • Navicat试用期终极解决方案:高效清理注册表,轻松延长15天免费使用
  • 1克拉以上钻石回收:大钻价值如何评估?2026西安克拉钻变现全攻略 - 奢侈品回收探店ing

最新新闻

  • 终极网盘下载解决方案:九大平台直链下载助手完整指南
  • 树莓派DS1307 RTC模块配置指南:解决离线时间同步问题
  • 终极指南:如何使用Cpp2IL逆向Unity IL2CPP编译的游戏二进制文件
  • 树莓派R800C HAT GSM/GPRS通信实战:从AT指令到物联网报警系统
  • 终极指南:5个专业步骤彻底修复XUnity.AutoTranslator翻译失效问题
  • 10分钟掌握League Akari:英雄联盟玩家的智能战绩分析利器

日新闻

  • 怀化母婴除甲醛公司测甲醛中心怎么选:康之居母婴除甲醛标准、流程、避坑指南 - 信誉隆金银铂奢回收
  • 三步打造你的终极音乐中心:foobox-cn网络电台功能完整指南
  • Lance湖仓格式:为多模态AI工作流设计的终极数据存储方案

周新闻

  • 怀化母婴除甲醛公司测甲醛中心怎么选:康之居母婴除甲醛标准、流程、避坑指南 - 信誉隆金银铂奢回收
  • 三步打造你的终极音乐中心:foobox-cn网络电台功能完整指南
  • Lance湖仓格式:为多模态AI工作流设计的终极数据存储方案

月新闻

  • ClickHouse版本管理深度实战:4步构建零风险升级与回滚体系
  • Java 23 种设计模式:从踩坑到精通 | 番外:责任链模式 —— 物流审批流程实战
  • 华硕笔记本性能解放指南:G-Helper轻量级控制工具全面解析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号