53. 最大子数组和 数组 dp
Published on 2022-11-17 23:02 in 暂未分类 with 林动

53. 最大子数组和 数组 dp

    给你一个整数数组 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) 的解法,尝试使用更为精妙的 分治法 求解。

    来源:力扣(LeetCode)
    链接:https://leetcode.cn/problems/maximum-subarray
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    class Solution {
        public int maxSubArray(int[] nums) {
            int INF=0x3f3f3f3f;
            int ma=-INF;
            int pre=ma;
            for(int x:nums){
                pre=Math.max(pre+x,x);
                ma=Math.max(ma,pre);
            }
            return ma;
        }
    }
    
    posted @   林动  阅读(14)  评论(0编辑  收藏  举报
    相关博文:
    阅读排行:
    · 全程不用写代码,我用AI程序员写了一个飞机大战
    · MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
    · 记一次.NET内存居高不下排查解决与启示
    · DeepSeek 开源周回顾「GitHub 热点速览」
    · 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
    点击右上角即可分享
    微信分享提示