53. 最大子序和


代码实现:

    public int maxSubArray(int[] nums) {         int[] dp = new int[nums.length];         dp[0] = nums[0];         int max = nums[0];         for (int i = 1; i < nums.length; i++) {             dp[i] = Math.max(dp[i- 1] + nums[i], nums[i]);               if (max < dp[i]) {                 max = dp[i];             }         }         return max;     } 优化:     public int maxSubArray(int[] nums) {             int ans = nums[0];             int sum = 0 ;             for(int x:nums){                 if(sum>0){                 sum+=x;                 }                   else {                 sum=x;                 }                 ans = Math.max(ans,sum);             }             return ans;     }