奈雪p8百万云原生架构师1期
2022-10-14 22:22 作者:janet19961217 | 我要投稿
public int maxSubArray(int[] nums, int start, int end) {
if (start == end) {
return nums[end];
}
if (start > end) {
return 0;
}
if (start + 1 == end) {
return Math.max(Math.max(nums[start], nums[end]), nums[start] + nums[end]);
}
int mid = (start + end) / 2;
int leftMax = maxSubArray(nums, start, mid - 1);
int rightMax = maxSubArray(nums, mid + 1, end);
int midMax = getMidMax(nums, start, end, mid);
return Math.max(Math.max(leftMax, rightMax), midMax);
}