字串 s 由小寫字母組成。我們要把這個字串劃分為盡可能多的片段,同一字母最多出現在乙個片段中。返回乙個表示每個字串片段的長度的列表。示例:
輸入:s = 「ababcbacadefegdehijhklij」解法:map輸出:[9,7,8]
解釋: 劃分結果為 「ababcbaca」,
「defegde」, 「hijhklij」。 每個字母最多出現在乙個片段中。 像 「ababcbacadefegde」,「hijhklij」 的劃分是錯誤的,因為劃分的片段數較少。
檢查第乙個元素是啥,查詢第乙個元素的最後一位在哪,記錄為a
查詢a位置之前,還有哪些元素,分別找出最後一位,並更新maxindex
class
solution
int maxindex =0;
int i =0;
while
(i < s.
length()
)}list.
add(maxindex - i+1)
; i = maxindex+1;
}return list;
}}
解法二:貪心
class
solution
int maxindex =0;
int i =
0,index=0;
while
(i < s.
length()
) i++;}
return list;
}}
劃分字母區間
題目描述 字串 s 由小寫字母組成。我們要把這個字串劃分為盡可能多的片段,同乙個字母只會出現在其中的乙個片段。返回乙個表示每個字串片段的長度的列表。示例 1 輸入 s ababcbacadefegdehijhklij 輸出 9,7,8 解釋 劃分結果為 ababcbaca defegde hijhk...
劃分字母區間
763.劃分字母區間 字串s由小寫字母組成。我們要把這個字串劃分為盡可能多的片段,同一字母最多出現在乙個片段中。返回乙個表示每個字串片段的長度的列表。示例 輸入 s ababcbacadefegdehijhklij 輸出 9,7,8 解釋 劃分結果為 ababcbaca defegde hijhkl...
Z劃分空間
具體數學第一章第二節的問題,knuth寫的 zoj 1652 數論 這題木有思路啊。盜用下別人的分析 分析 典型的遞推題 設f n 表示n個z字型折線至多平面劃分數。現在增加一條邊a,和3n條線都相交,增加3n 1個區域。再增加一條邊b,與a平行,同樣增加3n 1個區域。最後增加一條邊c,與已有的邊...