763 劃分字母區間 medium

2021-10-13 17:17:57 字數 496 閱讀 7453

class

solution

vector<

int> result;

int num =0;

int prev = voca[s[0]

-'a'];

// 第乙個字元的最後乙個位置

for(

int i =

0;i < length; i++)if

(i == prev)

}return result;}}

;

貪心,和射箭類似,乙個字母的首和尾就是乙個氣球,記住每個字母的最後位置。保留乙個記號記住當前子區間的最後位置,如果能遍歷到這裡,說明這之前的字母都已經出現完了,所以可以劃分,

上面是leetcode題解的思路,我的思路是,記錄每個字母出現的個數,遍歷過程中也要記錄子區間**現過的字母,這樣在遍歷每個字母的時候還需要再遍歷當前子區間的字母,來判斷是否所有字母都出現完了。這樣比大佬直接更新最後的位置,不知道差到那裡去了。

763 劃分字母區間

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

763 劃分字母區間

示例 1 輸入 s ababcbacadefegdehijhklij 輸出 9,7,8 解釋 劃分結果為 ababcbaca defegde hijhklij 每個字母最多出現在乙個片段中。像 ababcbacadefegde hijhklij 的劃分是錯誤的,因為劃分的片段數較少。注意 s的長度在...

763 劃分字母區間

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