在乙個「平衡字串」中,'l' 和 'r' 字元的數量是相同的。
給出乙個平衡字串 s,請你將它分割成盡可能多的平衡字串。
返回可以通過分割得到的平衡字串的最大數量。
示例 1:
輸入:s = "rlrrllrlrl"
輸出:4
解釋:s 可以分割為 "rl", "rrll", "rl", "rl", 每個子字串中都包含相同數量的 'l' 和 'r'。
示例 2:
輸入:s = "rllllrrrlr"
輸出:3
解釋:s 可以分割為 "rl", "lllrrr", "lr", 每個子字串中都包含相同數量的 'l' 和 'r'。
示例 3:
輸入:s = "llllrrrr"
輸出:1
解釋:s 只能保持原樣 "llllrrrr".
1 <= s.length <= 1000
s[i] = 'l' 或 'r'
分析:分割的最大數量, 就是將字串s切割成一系列的子串,並且字串中r和l的數量要相等,
那問題來了怎莫切割,我們以示例1來看
示例 1:
輸入:s = "rlrrllrlrl"
從頭開始
r 切割不了
rl 能切割,那到底切不切呢
繼續向下看
rlrrll也可以切割掉
rl 和rlrrll選哪個呢
很明顯題目要求字串數量大,那就肯定切割長度越小的字串越好,切rl,這道題的貪心大概就在這裡吧,那麼解題思路就很明顯了
我們for迴圈遍歷字串,
rcnt代表r的數量,lcnt代表l的數量,cnt代表結果
假使當前字元等於誰,誰的數量就加1,假使rcnt和lcnt剛好相等的時候,不正好就是字串r l數量相等且字串長度最小的時候嘛,那就讓rcnt=0,lcnt=0,cnt+=1,最後的cnt就是答案了
上**
classsolution
}return
cnt;
}}
LeetCode1221分割平衡字元
思路 原始的平衡字串中lr數目相等,分割後得到的多個平衡字串,每個字串中lr也滿足數目相等,所以如果最後剩下未能劃入到字串中的lr數目也相等。如 劃分三個字串,剩下2個l2個r 我突然發現如果不考慮劃分後的平衡字串盡可能多包含l和r,就按照都劃分為最簡單的形式lr或rl lr和rl的總和即為劃分數目...
LeetCode 1221 分割平衡字串
在乙個 平衡字串 中,l 和 r 字元的數量是相同的。給出乙個平衡字串 s,請你將它分割成盡可能多的平衡字串。返回可以通過分割得到的平衡字串的最大數量。示例 1 輸入 s rlrrllrlrl 輸出 4 解釋 s 可以分割為 rl rrll rl rl 每個子字串中都包含相同數量的 l 和 r 示例...
LeetCode 1221 分割平衡字串
題目 在乙個 平衡字串 中,l 和 r 字元的數量是相同的。給出乙個平衡字串 s,請你將它分割成盡可能多的平衡字串。返回可以通過分割得到的平衡字串的最大數量。示例 1 輸入 s rlrrllrlrl 輸出 4 解釋 s 可以分割為 rl rrll rl rl 每個子字串中都包含相同數量的 l 和 r...