2134. Minimum Swaps to Group All 1's Together II

2022. 1. 9. 17:08Algorithm/Leetcode, Lintcode, HackerRank, etc.

    목차
반응형

 

 

 

class Solution:
    def minSwaps(self, nums: List[int]) -> int:
        n = len(nums)
        ones = nums.count(1)
        zeros = nums[:ones].count(0)
        mn_zeros = zeros

        for i in range(n - 1):
            if nums[i] == 0:
                zeros -= 1

            if nums[(i + ones)%n] == 0:
                zeros += 1

            mn_zeros = min(mn_zeros, zeros)

        return mn_zeros

 

 

반응형