最大子数组和(java)-创新互联

53. 大子数组和 - 力扣(Leetcode)

站在用户的角度思考问题,与客户深入沟通,找到吉木乃网站设计与吉木乃网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站制作、做网站、企业官网、英文网站、手机端网站、网站推广、域名申请网站空间、企业邮箱。业务覆盖吉木乃地区。

此题是典型的动态规划算法

class Solution {
    public int maxSubArray(int[] nums) {
        //最终输出的大值
        int maxSum = nums[0];
    for (int i = 1; i< nums.length; ++i) {
        //改变后一个nums值,此值为前面大值+此值的和,循环过来时,nums[i-1]的值就是前面所有最优值的和,每次都与0比较,说明如果前面的和计算出来有负值,就抛弃前面的数,从当前位置开始计算。
        nums[i] = Math.max(nums[i - 1], 0) + nums[i];
        //再将当前最优的和与上一次的maxsum比较,取大
        maxSum = Math.max(maxSum, nums[i]);
    }
        return maxSum;
    }
}

最重要的一行

nums[i] = Math.max(nums[i - 1], 0) + nums[i];

意为,将前面的值一个一个加起来,如果出现相加完后是负值的情况,那在下一次循环到这里时直接舍弃,以0为大值加上nums[i]作为和,然后继续计算。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧

网站题目:最大子数组和(java)-创新互联
标题URL:https://www.cdcxhl.com/article44/dpgghe.html

成都网站建设公司_创新互联,为您提供营销型网站建设商城网站企业建站微信公众号品牌网站设计网站设计公司

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都网站建设公司