LeetCode 763 劃分字母區間

2021-10-07 15:42:02 字數 738 閱讀 9141

劃分字母區間

對當前的字元,遍歷找到它最後一次出現的位置,但是這個區間的長度可能小於最終長度——要對這個區間出現的字元一一進行查詢它最後一次出現的地方,並用這個去更新區間長度,直到這個區間內所有的字元都滿足要求。

時間複雜度:o(n

2)

o(n^2)

o(n2

)

class

solution

r--;}

mr =

max(mr,r);}

ans.

push_back

(mr-l+1)

; l = mr+1;

}return ans;}}

;

優化的方式很明顯,就是不要每次通過遍歷去查詢字元最後一次出現的位置,預處理一下就可以。

時間複雜度:o(n

)o(n)

o(n)

class

solution

; vector<

int>

partitionlabels

(string s)

int l=

0,r,mr;

while

(lans.

push_back

(mr-l+1)

; l = mr+1;

}return ans;}}

;

Leetcode 763 劃分字母區間

字串s由小寫字母組成。我們要把這個字串劃分為盡可能多的片段,同乙個字母只會出現在其中的乙個片段。返回乙個表示每個字串片段的長度的列表。示例 1 輸入 s ababcbacadefegdehijhklij 輸出 9,7,8 解釋 劃分結果為 ababcbaca defegde hijhklij 每個字...

Leetcode763 劃分字母區間

problem describe 字串 s 由小寫字母組成。我們要把這個字串劃分為盡可能多的片段,同乙個字母只會出現在其中的乙個片段。返回乙個表示每個字串片段的長度的列表。示例 1 輸入 s ababcbacadefegdehijhklij 輸出 9,7,8 解釋 劃分結果為 ababcbaca d...

Leetcode 763 劃分字母區間

字串 s 由小寫字母組成。我們要把這個字串劃分為盡可能多的片段,同乙個字母只會出現在其中的乙個片段。返回乙個表示每個字串片段的長度的列表。示例 1 輸入 s ababcbacadefegdehijhklij 輸出 9,7,8 解釋 劃分結果為 ababcbaca defegde hijhklij 每...