leetcode 763 劃分字母區間

2022-09-04 09:00:15 字數 823 閱讀 1183

字串 s 由小寫字母組成。我們要把這個字串劃分為盡可能多的片段,同乙個字母只會出現在其中的乙個片段。返回乙個表示每個字串片段的長度的列表。

示例 1:

輸入: s = "ababcbacadefegdehijhklij"

輸出: [9,7,8]

解釋:劃分結果為 "ababcbaca", "defegde", "hijhklij"。

每個字母最多出現在乙個片段中。

像 "ababcbacadefegde", "hijhklij" 的劃分是錯誤的,因為劃分的片段數較少。

注意:s的長度在[1, 500]之間。

s只包含小寫字母'a'到'z'。

分析:比如裡面隨便乙個子串,只要滿足了裡面的字母在剩下的子串裡沒有就可以擷取下來了。

比如 s = "ababcbacadefegdehijhklij"

其中 "ababcbaca"就可以擷取,因為剩下的子串裡沒有a,b,c,字元了。

怎莫找到這個子串呢, 假如子串區間為(i, j);

從第乙個字元a下標0開始我們找到為a的最後乙個字元下標為8.區間暫時就為(0,8)

然後遍歷他們之間的字元的最後乙個字元下標如果大與j就讓j更新,

知道裡面的最後乙個字元的下標都小於j說明這就是乙個結果儲存然後更新區間

class

solution

continue

; }

int index =s.lastindexof(s.charat(k));

if(index>j)

}return

res;

}}

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 每...