在 Python 中查找交替二进制字符串所需的最小更改的程序
假设我们有一个二进制字符串s。让我们考虑一个可以翻转一位的操作。如果没有两个相邻字符相同,则字符串s称为交替字符串。我们必须找到使s交替所需的最少操作次数。
因此,如果输入类似于s="11100011",那么输出将是3,因为如果我们翻转位置1、4和7的位,那么它将是“10101010”,那么所有的都是交替的。
示例(Python)
让我们看看下面的实现来更好地理解&minnus;
def solve(s):
   change = 0
   even_1 = 0
   even_0 = 0
   odd_1 = 0
   odd_0 = 0
   for i in range(len(s)):
      if(i%2 == 0):
         if(s[i]=='1'):
            even_1 +=1
         else:
            even_0 +=1
      else:
         if(s[i] == '1'):
            odd_1 +=1
         else:
            odd_0 +=1
   if((even_1+odd_0)>(even_0+odd_1)):
      change = even_0 + odd_1
   else:
      change = even_1 + odd_0
   return change
s = "11100011"
print(solve(s))输入
"11100011"输出结果
3