精華區beta Marginalman 關於我們 聯絡資訊
https://leetcode.com/problems/minimum-length-of-string-after-deleting-similar-ends/description 1750. Minimum Length of String After Deleting Similar Ends 給你一個只包含abc的字串s,你可以對他做一系列操作,求出s的最短長度。 1.從s挑出一些相同字元的前綴 2.從s挑出一些相同字元的後綴 3.前綴和後綴不可以交錯 4.前綴和後綴的字元需要一樣 5.移除前綴和後綴 思路: 1.毫無反應就是個雙指針,有點像兩個方向的滑動窗口,先判斷前後綴字元是否相等,不 相等直接跳出。 2.如果相等的話盡可能搜集相同的字元到左邊和右邊的窗口,右邊窗口要用 <= 因為左 邊窗口會多移一格 3.反覆操作直到迴圈結束然後 r-l+1 即可 py code -------------------------------------------- class Solution: def minimumLength(self, s: str) -> int: l, r = 0, len(s) - 1 while l < r: ch = s[l] if s[r] != ch: break while l < r and s[l] == ch: l += 1 while l <= r and s[r] == ch: r -= 1 return r - l + 1 -------------------------------------------- -- https://i.imgur.com/hhXzZJ3.jpg -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.138.171.36 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1709600837.A.2F5.html