字串 簡單 1422 分割字串的最大得分

2021-10-19 15:06:08 字數 1226 閱讀 8490

【題目】

給你乙個由若干 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 每個子字串中都包含相同數量的...