public class S053 { //kadane's algorithm //(如果不止一个数时)最大子数组第一个数肯定大于零,从最大子数组中某个数开始往前的数之和肯定大于零 public int maxSubArray(int[] nums) { if(nums.length == 0) return 0; int sum = 0; int result = Integer.MIN_VALUE; for(int i =0;i<nums.length;i++){ if(sum<0) sum=0; sum+= nums[i]; if(sum>result) result = sum; } return result; } }
本文介绍了一个使用Kadane算法解决最大子数组和问题的Java实现。通过一个简单的公共类S053展示了如何利用该算法找到给定整数数组中的最大子数组和。
262

被折叠的 条评论
为什么被折叠?



