53. Maximum Subarray( JavaScript )

给一个整数数组,找出数组连续几个数加起来最大的那个值。

Example:
  • Input: [-2,1,-3,4,-1,2,1,-5,4],
  • Output: 6
  • Explanation: [4,-1,2,1] has the largest sum = 6.

解析:

数组当前项 + 后一项 如果小于 后一项,则可以舍去当前项,直接用后一项继续向后加。

参考于博客

/**
 * @param {number[]} nums
 * @return {number}
 */
var maxSubArray = function(nums) {
    if(nums.length==0) return 0;
    var maxSum = nums[0],curSum = nums[0];
    for(var i=1;i<nums.length;i++){
        if(nums[i]>curSum+nums[i]){
            curSum = nums[i]; 
        }else{
            curSum += nums[i];
        }
        if(curSum>maxSum){
            maxSum = curSum;
        }
    }
    return maxSum;
};
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 3,417评论 0 2
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,270评论 0 4
  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,776评论 0 33
  • 切葱,西红柿 先小火,油不要太热,放入葱,西红柿加盐,这样不会溅出油,翻炒,放水 水开后,放鸡蛋,鸡蛋放在勺子里,...
    Lioforest_C阅读 199评论 0 0
  • 我和妈妈去姥姥家吃饭。在回来的路上,发现两只无家可归的小狗,于是,我和姐姐各抱了一只回家养。 ...
    卢卓宁阅读 306评论 0 0