原始问题:
小红操作01串至空的最少删除次数探究
可以使用贪心算法来解决这个问题。
首先,我们可以遍历整个字符串,记录下连续相同字符的长度。例如,对于字符串"0011100111",我们可以记录下长度为2的连续0子串和长度为3的连续1子串。
然后,我们可以计算出需要删除的最小次数。对于每个连续子串,我们只需要删除其中的一个字符,即可使得该子串变为空串。因此,最小删除次数就等于所有连续子串的个数。
最后,输出最小删除次数即可。
以下是一个示例代码:
def minDeletion(s):
count = 0
i = 0
while i < len(s):
j = i + 1
while j < len(s) and s[j] == s[i]:
j += 1
count += 1
i = j
return count
s = input()
print(minDeletion(s))示例输入:
0011100111示例输出:
4解释:需要删除的最小次数为4,可以删除两个0和两个1,使得字符串变为空串。
Prev:桥梁小区域控制测量