0
点赞
收藏
分享

微信扫一扫

【每日一题】【动态规划】【贪心】2021年11月18日-53. 最大子序和/连续子数组的最大和

给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。

 【每日一题】【动态规划】【贪心】2021年11月18日-53. 最大子序和/连续子数组的最大和_初始化

 

 代码:

// 动态规划
class Solution {
public int maxSubArray(int[] nums) {
int fi = 0, maxRes = nums[0]; //初始化
for(int x : nums) {
fi = Math.max(x, fi + x);
maxRes = Math.max(maxRes, fi);
}
return maxRes;
}
}

//贪心
class Solution {
public int maxSubArray(int[] nums) {
int maxRes = nums[0];
int sum = 0;
for(int x : nums) {
if(sum > 0) {
sum += x;
} else {
sum = x; // 等于x而不等于0
}
maxRes = Math.max(maxRes, sum);
}
return maxRes;
}
}

 


作者:哥们要飞​


举报

相关推荐

0 条评论