[c#版剑指offer]连续子数组的最大和

给定一个数组,求数组中的连续数组的最大和,例如给一个数组{ 1, -2, 3, 10, -4,7,2 },其中最大连续子数组为{3,10,-4,7,2},最大和为18;

public static int getMaxarrayValue(int[] array)
        {
            int max = array[0];
            int currentsum = 0;
            for(int i = 0; i < array.Length; i++)
            {
                if (currentsum <= 0)
                {
                    currentsum = array[i];
                }
                else
                {
                    currentsum += array[i];
                }

                if (currentsum > max)
                {
                    max = currentsum;
                }
            }

            return max;
        }

 

你可能感兴趣的:(C#数据结构算法)