优点知识Kubernetes 进阶训练营第3期
2022-10-11 15:18 作者:janet19961217 | 我要投稿
private int getMidMax(int[] nums, int start, int end, int mid) {
int leftSum = 0;
int leftMax = Integer.MIN_VALUE;
for (int i = mid - 1; i >= start; i--) {
leftSum += nums[i];
if (leftSum > leftMax) {
leftMax = leftSum;
}
}
int rightSum = 0;
int rightMax = Integer.MIN_VALUE;
for (int i = mid + 1; i <= end; i++) {
rightSum += nums[i];
if (rightSum > rightMax) {
rightMax = rightSum;
}
}
return Math.max(leftMax, 0) + nums[mid] + Math.max(rightMax, 0);
}