在 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

以上是 在 Python 中查找交替二进制字符串所需的最小更改的程序 的全部内容, 来源链接: utcz.com/z/355729.html

回到顶部