クラスソリューション{ 公共 のint maxSubArray(INT [] NUMS){ // 境界examinine 場合(nums.length == 0 || NUMS == NULL ){ 戻り 0 。 } もし(nums.length == 1 ){ 戻り NUMS [0 ]。 } INT [] DPは= 新しい INT [nums.length]。 DP [ 0] = NUMS [0 ]。 DP [ 1] = MAX(NUMS [1]、(NUMS [1] + DP [0 ])); 以下のために(int型 I = 2; iはnums.length <; iは++ ){ DP [I] = MAX(NUMS [i]は、(NUMS [I] + DP [I-1 ]))。 } は、Arrays.sort(DP)。 戻り DP [nums.length-1 ]。 } 公共 INTマックス(INT A、INT B){ 戻り > bは?A:B; } }