求子数组的最大值
题目:一个数组中,求子数组(在数组中连续的N个数)和的最大值,例如{ -1,3,5,-1,4,-5}数组,最大值为11, 3+5+(-1)+4=11,在这个数组中只有这四个数相加的和是最大的
代码如下:
class Program     
{    
    static void Main(string[] args)    
    {    
        int[] arr = { -1,3,5,-1,4,-5};    
    
        int result = GetSubMax(arr);    
        Console.WriteLine(result);    
        Console.ReadKey();    
    }    
    
    public static int GetSubMax(int[] arr)    
    {    
        int max = 0, subSum = 0;    
        for (int i = 0; i < arr.Length; i++)    
        {    
            subSum = subSum > 0 ? subSum + arr[i] : arr[i];    
            max = subSum > max ? subSum : max;    
        }    
    
        return max;    
    }    
}
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号