请用Java实现计算数组中连续元素相加后最大值是多少?
时间: 2024-04-17 12:25:01 浏览: 160
当然可以!下面是一个用Java实现计算数组中连续元素相加后最大值的示例代码:
```java
public class MaxSubarraySum {
public static int maxSubarraySum(int[] nums) {
int maxSum = nums[0];
int currentSum = nums[0];
for (int i = 1; i < nums.length; i++) {
currentSum = Math.max(nums[i], currentSum + nums[i]);
maxSum = Math.max(maxSum, currentSum);
}
return maxSum;
}
public static void main(String[] args) {
int[] nums = { -2, 1, -3, 4, -1, 2, 1, -5, 4 };
int maxSum = maxSubarraySum(nums);
System.out.println("连续元素相加后的最大值为: " + maxSum);
}
}
```
这个程序通过遍历数组,使用两个变量`maxSum`和`currentSum`来记录最大和当前的连续元素相加后的值。在每一步迭代中,我们选择要么继续累加当前元素,要么从当前元素重新开始累加。最终,`maxSum`记录的就是连续元素相加后的最大值。
在上面的示例中,给定数组`nums = {-2, 1, -3, 4, -1, 2, 1, -5, 4}`,连续元素相加后的最大值是`6`(对应子数组`{4, -1, 2, 1}`)。
你可以根据自己的需求修改数组`nums`来测试不同的输入。希望这个示例能对你有所帮助!
阅读全文