【每日一题】【动态规划】【贪心】2021年11月18日-53. 最大子序和/连续子数组的最大和
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
代码:
// 动态规划 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; } }
本文来自博客园,作者:哥们要飞,转载请注明原文链接:https://www.cnblogs.com/liujinhui/p/15574312.html