763. Partition Labels
題目網址:https://leetcode.cn/problems/partition-labels/
題意:給一 string
s
由小寫字母所組成。我們要把s
劃分為盡可能多的 partition, 同一字母只能出現在同一個 partition 中。返回一個表示每個 partition 的長度之 array。
Solution:
想法:利用 Greedy, 首先遍歷
s
, 並用lastIdx
紀錄每個字母的最後一個 index, 然後從頭開始遍歷s
, 並不斷更新當前 partition 的結尾。若i == idx
代表已走到 partition 結尾, 即可確定當前 partition 的 size, 因為該 partition 中的 char 都沒有出現在更後面的位置
class Solution { |
- time:$O(n)$ ➔ for loop
- space:$O(1)$ ➔
lastIdx
中的元素不超過 26 個
本部落格所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 Zako's Blog!
評論