劃分字母空間

2021-10-21 01:21:40 字數 881 閱讀 1388

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

示例:

輸入:s = 「ababcbacadefegdehijhklij」

輸出:[9,7,8]

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

「defegde」, 「hijhklij」。 每個字母最多出現在乙個片段中。 像 「ababcbacadefegde」,「hijhklij」 的劃分是錯誤的,因為劃分的片段數較少。

解法:map

檢查第乙個元素是啥,查詢第乙個元素的最後一位在哪,記錄為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,與已有的邊...