[LeetCode] 53. Maximum Subarray

Joohyun·2021년 2월 9일

Algorithm

목록 보기
6/16
post-thumbnail

문제 링크

https://leetcode.com/problems/maximum-subarray/

제출 코드

/**
 * @param {number[]} nums
 * @return {number}
 */
var maxSubArray = function(nums) {
    if (nums.length === 1) { return nums[0] }
    let result = nums[0]
    let max = ''
    let sum = 0
    for (j = 0; j < nums.length; j++) {
        max = nums[j]
        for (let i = j; i < nums.length; i++) {
            sum = nums[i] + sum
            if (max < sum) { max = sum }
        }
        if (result < max) { result = max }
        sum = 0
    }
    return result
};

풀이 방법

  1. 배열의 각 요소(num[j])를 시작으로 for문을 돌며 합을 구해 최대값을 찾는다.
    시작 요소(num[j])가 기준 값이 되며, max에 최대값을 저장
  2. max 값을 비교하여 제일 큰 값을 찾는다. => result
profile
#Frontend Developer #Vue #Javascript #Typescript

0개의 댓글