코테준비 - Maximum Subarray

정상화·2023년 2월 26일

LeetCode

목록 보기
51/222

Maximum Subarray

class Solution {
public:
    int maxSubArray(vector<int>& nums) {
        int len = nums.size();
        int sums[len];
        int minSumArr[len + 1];
        unordered_map<int,int> map;
        map[0] = 0;
        minSumArr[0] = 0;
        int minSum = 0;
        int sum = 0;
        for (int i = 0; i < len; i++) {
            sum += nums.at(i);
            sums[i] = sum;
            if(sum < minSum){
                map[sum] = i;
                minSum = sum;
            }
            minSumArr[i + 1] = minSum;
        }

        int maxSum = INT32_MIN;
        for (int i = 0; i < len; i++) {
            int subMaxSum = sums[i] - minSumArr[i];
            maxSum = max(subMaxSum, maxSum);
        }

        return maxSum;
    }
};
profile
백엔드 희망

0개의 댓글