资讯详情

【LeetCode】53. 最大子数组和 (JavaScript)

原题

给你一个整数数组 nums ,请找出最大和的连续子数组(子数组至少包含一个元素),并返回其最大和。

是数组的连续部分。

输入:nums = [2,1,3,4,1,2,1,5] 输出:6 说明:连续子数组 [4,-1,2,1] 和最大,为 6 。 

输入:nums = [1] 输出:1 

输入:nums = [5,4,-1,7,8] 输出:23 

题解

  • 动态规划
/** * @param {number[]} nums * @return {number} */ var maxSubArray = function(nums) { 
             let sum = 0;     let res = nums[0];     nums.forEach((n) => { 
                 if(sum > 0) sum  = n; // 若子数组和大于 0、保留增益效果         else sum = n; // sum 小于等于 0.直接放弃没有增益效放弃         res = Math.max(sum, res); // 记录最大子数组和     })     return res; }; 

标签: xsm吸收薄膜电容器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台