Re: [閒聊] 每日leetcode已回收
※ 引述《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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 598 之 1554 篇):