
贪心算法:
class Solution {
public int maxSubArray(int[] nums) {
int Ret = nums[0],sum =0;
for(int i =0;i<nums.length;i++){
sum+=nums[i];
Ret = Ret>sum?Ret:sum;
if(sum<0) sum = 0;
}
return Ret;
}
}
动态规划:
class Solution {
public int maxSubArray(int[] nums) {
int result =0;
int dp=nums[0];
result = dp;
for (int i = 1; i < nums.length; i++)
{
dp = Math.max(dp + nums[i], nums[i]);
result = Math.max(result, dp);
}
return result;
}
}
本文深入探讨了求解最大子数组和问题的两种高效算法:贪心算法和动态规划。通过具体代码实现,展示了如何在数组中找到具有最大和的连续子数组,对比了两种算法的优缺点。
2091

被折叠的 条评论
为什么被折叠?



