Leetcode 763 劃分字母區間

2021-08-28 17:00:26 字數 824 閱讀 9451

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

示例 1:

輸入:s = "ababcbacadefegdehijhklij"輸出:[9,7,8]解釋:劃分結果為 "ababcbaca", "defegde", "hijhklij"。

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

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

注意:

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

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

維護乙個 end 變數,這個變數表示的是 某個字母在這個字串中最後出現的位置的下標。

從下標為0的位置開始,首先找到下標為0的字母的end,在該題中a對應的end為 8.

在0到8之間遍歷,對每乙個字元更新end  更新的原則是 誰大就用誰的end。

最後將end - start,start是該子串開頭的字母的下標。更新start。

class solution 

int start = 0, end = -1;

for(int i = 0; i}

return res;

}};

Leetcode763 劃分字母區間

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

Leetcode 763 劃分字母區間

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

leetcode763 劃分字母區間

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