LeetCode热题100 最大子数组和

题目描述

给你一个整数数组 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<=1051 <= nums.length <= 10^51<=nums.length<=105
−104<=numsi<=104-10^4 <= numsi <= 10^4−104<=numsi<=104

思路

1 考虑动态规划。

2 fi表示以i结尾的数组的最大和,答案为max(fi)。

3 fi从fi-1转移过来,所以转移方程为fi = max(fi-1 + numsi, numsi)。

代码

cpp 复制代码
class Solution {
public:
    int maxSubArray(vector<int>& nums) {
		int ans = nums[0], pre = 0;
        for(auto &t : nums)
        {
			pre = max(pre + t, t);
			ans = max(ans, pre); 
		}
		return ans;
    }
};
相关推荐
alphaTao2 小时前
LeetCode 每日一题 2026/8/24-2026/8/30
python·算法·leetcode
Interview Aid1123 小时前
TikTok OA 四题分享|半小时内 AC,题目基本都是实现题
java·开发语言·算法·面试·职场和发展
顶点多余12 小时前
那些在算法中适合巩固的知识点---1
java·前端·算法
AI情绪识别开源13 小时前
检信 ALLEMOTION OS 加密打包可执行程序 — 全面测试报告版本: v1.3功能测试 / 性能测试 /
开发语言·数据结构·人工智能·功能测试
罗西的思考13 小时前
【Agentic RL / 强化学习框架】Molt 设计解读
人工智能·算法·机器学习
hahaha601614 小时前
HLS高层次综合设计技巧--C++类和模板
图像处理·人工智能·算法·计算机视觉
多弗朗皮卡丘15 小时前
算法详解4:买卖股票的最佳时机系列(上)
算法
维克兜率天17 小时前
【维克】动量指标家族:RSI、ROC、CCI、Momentum全面解析
python·算法
AI情绪识别开源18 小时前
检信 AI 智能推广平台(代号:JX-Promote)
人工智能·算法·erlang
老当益壮梁奶奶18 小时前
Linux软件编程学习笔记(八):进程间通信详解(1)
linux·c语言·笔记·学习·算法