[Leetcode] 53. Maximum Subarray (JAVA)

유존돌돌이·2021년 9월 15일
0

Leetcode

목록 보기
14/17
post-thumbnail

Given an integer array nums, find the contiguous subarray (containing at least one number) which has the largest sum and return its sum.
A subarray is a contiguous part of an array.

Example 1:

Input: nums = [-2,1,-3,4,-1,2,1,-5,4]
Output: 6
Explanation: [4,-1,2,1] has the largest sum = 6.

Example 2:

Input: nums = [1]
Output: 1

Example 3:

Input: nums = [5,4,-1,7,8]
Output: 23

Constraints:

1 <= nums.length <= 3 * 104
-105 <= nums[i] <= 105

My Code

class solution {
    public int maxSubArray(int[] nums) {
        int sum=nums[0], ret=nums[0];
        for(int i=1 ; i<nums.length ; i++) {
            sum = Math.max(sum+nums[i], nums[i]);
            ret = Math.max(sum, ret);
        }
        return ret;
    }
}

0개의 댓글