LeetCode 53: Maximum Subarray

Question

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


Solutions:-

   1) JavaScript      


function maxSubArray(nums) {
  let solution = nums[0];
  for (let i = 1; i < nums.length; i++) {
    nums[i] = Math.max(nums[i], nums[i] + nums[i - 1]);
    solution = Math.max(solution, nums[i]);
  }
  return solution;
}


2) Go


func Max(x, y int) int {
    if x < y {
        return y
    }
    return x
}
func maxSubArray(nums []int) int {
    solution:=nums[0];
    for i:=1;i<len(nums);i++{
        nums[i]=Max(nums[i],nums[i]+nums[i-1]);
        solution=Max(solution,nums[i])
    }
    return solution;
}


Comments

Popular posts from this blog

LeetCode 350: Intersection of Two Arrays II

LeetCode 35: Search Insert Position

LeetCode 217: Contains Duplicate