Re: [閒聊] 每日leetcode

看板Marginalman作者 (dont)時間1年前 (2024/08/02 08:22), 1年前編輯推噓1(100)
留言1則, 1人參與, 1年前最新討論串615/1554 (看更多)
2134. Minimum Swaps to Group All 1's Together II ## 思路 fixed size sliding window size = 陣列裡面1的個數 swap次數 = window裡面0的個數 因為是circular 掃兩次陣列讓頭尾相接 ## Complexity Time: O(N) Space: O(1) ## Code ```python class Solution: def minSwaps(self, nums: List[int]) -> int: ones = sum(nums) n = len(nums) ans = count = sum(nums[i] == 0 for i in range(ones)) for i in range(ones, 2 * n): count -= (nums[(i-ones) % n] == 0) count += (nums[i % n] == 0) ans = min(ans, count) return ans ``` -- http://i.imgur.com/OLvBn3b.jpg
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 185.213.82.241 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1722558172.A.37F.html ※ 編輯: dont (185.213.82.241 臺灣), 08/02/2024 08:35:43

08/02 08:36, 1年前 , 1F
大師 太快了吧
08/02 08:36, 1F
文章代碼(AID): #1ch2RSD_ (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1ch2RSD_ (Marginalman)