53. Maximum Subarray (Array)
用DP
1 class Solution { 2 public int maxSubArray(int[] nums) { 3 int max = Integer.MIN_VALUE; 4 int size = nums.length; 5 int[] maxArr = new int[size]; 6 maxArr[0] = nums[0]; 7 for(int i = 1; i < size; i++) { 8 if(maxArr[i - 1] + nums[i] > nums[i]) { 9 maxArr[i] = maxArr[i - 1] + nums[i]; 10 }else { 11 maxArr[i] = nums[i]; 12 } 13 } 14 for(int j = 0; j < size; j++) { 15 if(maxArr[j] > max) { 16 max = maxArr[j]; 17 } 18 } 19 return max; 20 } 21 }