Monday, October 3, 2011

Find the maximum sum of sub array within an array.


    public int MaxSubArray(int[] nums) 
    {
        int maxElement = int.MinValue;
        int maxSum = 0;
        int currSum = 0;
        
        for (int i = 0; i < nums.Length; ++i)
        {
            currSum += nums[i];
            if (currSum < 0)
            {
                currSum = 0;
            }
            maxSum = maxSum < currSum ? currSum : maxSum;
            maxElement = maxElement < nums[i] ? nums[i] : maxElement;
        }
        
        return maxElement < 0 ? maxElement : maxSum;
    }

No comments:

Post a Comment