Leetcode 劃分字母區間 貪心演算法)

2021-10-09 23:05:48 字數 706 閱讀 3683

劃分字母區間

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

示例 1:

輸入:s = 「ababcbacadefegdehijhklij」

輸出:[9,7,8]

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

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

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

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

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

通過次數21,365提交次數29,538

這道題貪心倒還是很容易想到的,對於某個字母,如果想讓他只存在在乙個片段中,那麼這個片段至少大小是,最後這個數的位置減去初始位置

class

solution

int j=

0,anchor=0;

listans=

newarraylist()

;for

(int i=

0;ilength()

;i++)}

return ans;

}}

LeetCode 劃分字母區間 763

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

LeetCode 劃分字母區間(貪心策略)

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

劃分字母區間

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