leetcode——53——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.


class Solution {
public:
	int maxSubArray(vector<int>& nums) {
		int n = nums.size();

		int i = 0;
		
		int sum = 0;
		int max = INT_MIN;
		
		while (i < n)
		{
			if (sum < 0)
				sum = nums[i];
			else
			    sum += nums[i];
			if (sum > max)
				max = sum;
			i++;

		}
		
		return max;
	}
};

你可能感兴趣的:(LeetCode,算法题)