leetcode 53. 最大子数组和

题目如下

数据范围

复制代码
法一
暴力解法: 生成前缀和数组用于迅速判断得到从i到j的子数组和。
时间复杂度O(n方)因为数组很大这个解法虽然可以但是容易超时。
法二
令f(n)是以n为结尾的最大子数组和,其中f(n) = max(f(n - 1) + nums[n],f(n))
很容易想到设置一个数组用于存储每个f(i)但是我们每次循环只需要使用上一个值所以可以用pre变量来节省内存。

通过代码

cpp 复制代码
class Solution {
public:
  int maxSubArray(vector<int>& nums) {
        int sum = nums[0];int pre = 0;
        for(const auto &n:nums) {
                pre = max(pre + n,n);
                sum = max(pre,sum);
        }
    return sum;

}
};
相关推荐
福尔摩斯张13 小时前
C语言核心:string函数族处理与递归实战
c语言·开发语言·数据结构·c++·算法·c#
2501_9418846113 小时前
云计算与边缘计算:解锁未来计算架构的智能边界
leetcode
程序猿小白日记14 小时前
云计算与物联网融合:推动智慧城市的未来发展
leetcode
江澎涌14 小时前
JHandler——一套简单易用的 C++ 事件循环机制
android·c++·harmonyos
liu****14 小时前
5.C语言数组
c语言·开发语言·c++
毛甘木14 小时前
Unity MonoPInvokeCallback 使用教程
c++·unity
吗~喽14 小时前
【LeetCode】滑动窗口_水果成篮_C++
c++·算法·leetcode
立志成为大牛的小牛15 小时前
数据结构——四十九、B树的删除与插入
数据结构·学习·程序人生·考研·算法
BestOrNothing_201515 小时前
【C++基础】Day 4:关键字之 new、malloc、constexpr、const、extern及static
c++·八股文·static·extern·new与malloc·constexpr与const
高洁0115 小时前
具身智能-普通LLM智能体与具身智能:从语言理解到自主行动 (2)
深度学习·算法·aigc·transformer·知识图谱