53. 最大子序和
题目描述:
代码:
class Solution { public int maxSubArray(int[] nums) { int sum=0,max=nums[0]; for(int i=0;i<nums.length;i++){ sum=Math.max(nums[i],nums[i]+sum); max=Math.max(max,sum); } return max; } }
思路:
918. 环形子数组的最大和
问题描述:
代码:
class Solution { public int maxSubarraySumCircular(int[] nums) { int sum=0,valMax=nums[0],valMin=nums[0],preMax=0,preMin=0; for(int num:nums){ sum+=num; preMax=Math.max(preMax+num,num); valMax=Math.max(valMax,preMax); preMin=Math.min(preMin+num,num); valMin=Math.min(valMin,preMin); } if(valMax<0){ return valMax; } return Math.max(sum-valMin,valMax); } }
思路:
力扣https://leetcode-cn.com/problems/maximum-sum-circular-subarray/solution/xi-xiang-tong-53ti-yi-yang-by-dc3a2nletu-qvk6/