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 }

 

posted @ 2018-07-27 03:42  jasoncool1  阅读(116)  评论(0)    收藏  举报