Re: [閒聊] 每日leetcode已回收

看板Marginalman作者 (dont)時間1年前 (2024/07/31 08:47), 編輯推噓1(100)
留言1則, 1人參與, 1年前最新討論串598/1554 (看更多)
※ 引述《dont (dont)》之銘言: : 1653. Minimum Deletions to Make String Balanced : ## 思路 : Minimum Deletions = 把所有的ba配對刪掉的次數 : for迴圈掃整個字串 : 如果遇到a 且Stack最後是b 就pop掉 並且 ans+1 : 否然就把該字元加進Stack : ## Complexity : Time, Space: O(N) : ## Code : ```python : class Solution: : def minimumDeletions(self, s: str) -> int: : n = len(s) : ans = 0 : stack = [] : for ch in s: : if stack and stack[-1] == 'b' and ch == 'a': : stack.pop() : ans += 1 : else: : stack.append(ch) : return ans : ``` 仔細想想昨天這一題其實根本不需要Stack... 用個變數計錄目前遇到的b個數就好了 遇到a且count > 0的話就扣掉他(刪掉這對ba) ```python class Solution: def minimumDeletions(self, s: str) -> int: n = len(s) ans = count = 0 for ch in s: if ch == 'b': count += 1 elif count: count -= 1 ans += 1 return ans ``` -- http://i.imgur.com/OLvBn3b.jpg
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 185.213.82.24 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1722386853.A.D71.html

07/31 08:50, 1年前 , 1F
大師
07/31 08:50, 1F
文章代碼(AID): #1cgOcbrn (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1cgOcbrn (Marginalman)