剑指 Offer 42. 连续子数组的最大和
力扣
//连续子数组最大和
//动规1
class Solution {
public int maxSubArray(int[] nums) {
int sum=nums[0];
int max=nums[0];
for(int i=1;i<nums.length;i++){
sum=Math.max(sum+nums[i],nums[i]);
max=Math.max(max,sum);
}
return max;
}
}
//动规2
class Solution {
public int maxSubArray(int[] nums) {
int[] dp=new int[nums.length];
dp[0]=nums[0];
int max=nums[0];
for(int i=1;i<nums.length;i++){
dp[i]=Math.max(dp[i-1]+nums[i],nums[i]);
max=Math.max(max,dp[i]);
}
return max;
}
}