通过将二进制字符串分成两部分来查找最高分数的程序在 Python 中
假设我们有一个二进制字符串 s。现在让我们考虑一个操作,我们将字符串拆分为两个非空子字符串 s1 和 s2。这个分裂的分数是 s1 中“0”计数的总和和 s2 中“1”计数的总和。我们必须找到我们可以获得的最大分数。
所以,如果输入像 s = "011001100111",那么输出将是 8,因为我们可以像 "01100" + "110111" 这样拆分字符串。那么,分数是 3 + 5 = 8。
示例
让我们看下面的实现来更好地理解
def solve(s):ones = s.count("1")
zeros = 0
ans = 0
for i in range(len(s) - 1):
if s[i] == "0":
zeros += 1
else:
ones -= 1
ans = max(ans, ones + zeros)
return ans
s = "011001100111"
print(solve(s))
输入
"011001100111"输出结果
8
以上是 通过将二进制字符串分成两部分来查找最高分数的程序在 Python 中 的全部内容, 来源链接: utcz.com/z/338632.html