【題目】
給你乙個由若干 0 和 1 組成的字串 s ,請你計算並返回將該字串分割成兩個 非空 子字串(即 左 子字串和 右 子字串)所能獲得的最大得分。
「分割字串的得分」為 左 子字串中 0 的數量加上 右 子字串中 1 的數量。
【示例 1】
輸入:s = 「011101」
輸出:5
解釋:將字串 s 劃分為兩個非空子字串的可行方案有:
左子字串 = 「0」 且 右子字串 = 「11101」,得分 = 1 + 4 = 5
左子字串 = 「01」 且 右子字串 = 「1101」,得分 = 1 + 3 = 4
左子字串 = 「011」 且 右子字串 = 「101」,得分 = 1 + 2 = 3
左子字串 = 「0111」 且 右子字串 = 「01」,得分 = 1 + 1 = 2
左子字串 = 「01110」 且 右子字串 = 「1」,得分 = 2 + 1 = 3
【示例 2】
輸入:s = 「00111」
輸出:5
解釋:當 左子字串 = 「00」 且 右子字串 = 「111」 時,我們得到最大得分 = 2 + 3 = 5
示例 3
輸入:s = 「1111」
輸出:3
【提示】
2 <= s.length <= 500
字串 s 僅由字元 『0』 和 『1』 組成。
【**】
【python】
class
solution
:def
maxscore
(self, s:
str)
->
int:
l=len(s)
maxnum=-1
for i in
range(1
,l):
left=s[
:i] right=s[i:
] cnt=
0for x in left:
if x==
'0':
cnt+=
1for x in right:
if x==
"1":
cnt+=
1 maxnum=
max(maxnum,cnt)
return maxnum
LeetCode1422 分割字串的最大得分
一.題目 題目 示例 二.方法一 暴力法 解題思路 解題 def maxscore self,s str int count 0for index in range 1 len s num1 s 0 index count 0 num2 s index len s count 1 if count ...
1422 分割字串的最大得分
題目描述 給你乙個由若干 0 和 1 組成的字串 s 請你計算並返回將該字串分割成兩個 非空 子字串 即 左 子字串和 右 子字串 所能獲得的最大得分。分割字串的得分 為 左 子字串中 0 的數量加上 右 子字串中 1 的數量。示例 1 輸入 s 011101 輸出 5 解釋 將字串 s 劃分為兩個...
1221 分割平衡字串
鏈結 在乙個 平衡字串 中,l 和 r 字元的數量是相同的。給出乙個平衡字串 s,請你將它分割成盡可能多的平衡字串。返回可以通過分割得到的平衡字串的最大數量。示例 1 shell 輸入 s rlrrllrlrl 輸出 4 解釋 s 可以分割為 rl rrll rl rl 每個子字串中都包含相同數量的...