精華區beta Marginalman 關於我們 聯絡資訊
思路: for loop 下去 每個index的cost都會是 刪掉前面所有的'b'跟後面所有的'a' 所需要的次數 就取所有cost的最小值就可 def minimumDeletions(self, s: str) -> int:` a_cnt = s.count('a') a_cnt_cur, b_cnt_cur = 0, 0 ans = len(s) for i,c in enumerate(s): if c == 'a': a_cnt_cur += 1 ans = min(ans, b_cnt_cur + (a_cnt - a_cnt_cur)) else: ans = min(ans, b_cnt_cur + (a_cnt - a_cnt_cur)) b_cnt_cur += 1 return ans -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.229.37.69 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1722353702.A.16F.html
rainkaras: 大師還在捲 07/31 00:30