用java编写最大字段和算法
时间: 2024-01-23 19:03:15 浏览: 53
以下是使用Java编写的最大字段和算法:
```java
public class MaximumSubarray {
public static int maxSubArray(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 = maxSubArray(nums);
System.out.println("Maximum subarray sum is: " + maxSum);
}
}
```
该算法的核心思想是遍历整个数组并记录当前最大子数组的和。在遍历过程中,我们计算当前元素与之前的子数组之和,以确定是否更新当前最大子数组和。如果当前元素比之前的子数组和更大,则我们开始一个新的子数组,否则我们将当前元素添加到之前的子数组中。我们还跟踪整个过程中出现的最大子数组和并返回它。
阅读全文