파비의 매일매일 공부기록

2023.09.20 Today's Challenge 본문

Problem Solving/LeetCode

2023.09.20 Today's Challenge

fabichoi 2023. 9. 20. 23:45

https://leetcode.com/problems/minimum-operations-to-reduce-x-to-zero/

 

LeetCode - The World's Leading Online Programming Learning Platform

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

슬라이딩 윈도우로 푸는 문제

class Solution:
    def minOperations(self, nums: List[int], x: int) -> int:
        target, n = sum(nums) - x, len(nums)
        if target == 0:
            return n
        max_len = cur_sum = left = 0

        for right, val in enumerate(nums):
            cur_sum += val
            while left <= right and cur_sum > target:
                cur_sum -= nums[left]
                left += 1
            if cur_sum == target:
                max_len = max(max_len, right-left+1)
        
        return n - max_len if max_len else -1
반응형

'Problem Solving > LeetCode' 카테고리의 다른 글

2023.09.22 Today's Challenge  (0) 2023.09.22
2023.09.21 Today's Challenge  (0) 2023.09.21
2023.09.19 Today's Challenge  (0) 2023.09.19
2023.09.18 Today's Challenge  (0) 2023.09.18
2023.09.17 Today's Challenge  (0) 2023.09.17
Comments