就window滑過去
加加減減減減加加
今天好晚喔想睡了
又是只寫一題的一天
def minSwaps(self, nums: List[int]) -> int:
one_cnt = sum(nums)
n = len(nums)
# init
window_sum = sum(nums[0:one_cnt-1])
ans = one_cnt
for l in range(len(nums)):
window_sum += nums[(l+one_cnt-1)%n]
ans = min(ans, one_cnt-window_sum)
window_sum -= nums[l]
return ans