53.最大子数组和

题目来源:

leetcode题目,网址:53. 最大子数组和 - 力扣(LeetCode)

解题思路:

动态规划,假设以第 i 个元素为结尾的最大子数组和为 dpi,则 dpi=max(dpi-1+numsi,numsi)。最后返回其中最大值即可。

解题代码:

复制代码
class Solution {
public:
    int maxSubArray(vector<int>& nums) {
        int maxSum=nums[0];
        int pre=nums[0];
        for(int i=1;i<nums.size();i++){
            pre=max(pre+nums[i],nums[i]);
            maxSum=max(pre,maxSum);

        }
        return maxSum;
    }
};

总结:

官方题解给出了两种解法。第一种是动态规划。第二种是分治,分治法利用递归将原来的数组切割为一个一个的小数组,在小数组内获得问题的解,然后不断合并小数组,在此期间,根据小数组的信息得到大数组的相应信息。最后所有的小数组被合并为一个时,得到的数据即为所求。


相关推荐
程序员zgh4 分钟前
C++ 拷贝赋值运算符 详解
c语言·开发语言·c++
皓月斯语2 小时前
B2132 素数对
c++·算法·题解
星轨初途2 小时前
LeetCode 热题 100——day2 字母异位词分组
c++·算法·leetcode
笨鸟先飞的橘猫3 小时前
c++面向对象编程
开发语言·c++
啦啦啦啦啦zzzz4 小时前
设计模式:桥接模式和组合模式
c++·设计模式·组合模式·桥接模式
-森屿安年-4 小时前
647. 回文子串
c++·算法·动态规划
fpcc4 小时前
c++应用网络编程之十七WebSocket
网络·c++·websocket
haolin123.4 小时前
类和对象(下)
c语言·开发语言·c++
皓月斯语4 小时前
P5736 【深基7.例2】质数筛
c++·算法·题解
鸿芯微控科技4 小时前
MFC质量流量控制器流量不准怎么排查?设定值、反馈值与参考流量对比,附Python代码
c++·python·mfc