`
hcx2013
  • 浏览: 88882 次
社区版块
存档分类
最新评论

Maximum Subarray

 
阅读更多

Find the contiguous subarray within an array (containing at least one number) which has the largest sum.

For example, given the array [−2,1,−3,4,−1,2,1,−5,4],
the contiguous subarray [4,−1,2,1] has the largest sum = 6.

click to show more practice.

 

public class Solution {  
    public int maxSubArray(int[] nums) {  
        if (nums == null || nums.length == 0) {
        	return 0;
        }
        int max = Integer.MIN_VALUE;
        int cur = 0;
        for (int i = 0; i < nums.length; i++) {
			cur += nums[i];
			max = Math.max(max, cur);
			if (cur < 0) {
				cur = 0;
			}
		}
        return max;
    }  
}  

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics