使用Python编写使用二进制字符串制作灯泡开关程序

使用Python编写使用二进制字符串制作灯泡开关程序

假设我们的房间里有n个灯泡,这些灯泡从左到右编号为0到n-1。我们必须将它们排列成一行。最初,所有灯泡都处于关闭状态(0状态)。我们必须获得由给定目标数组’t’表示的配置,其中t [i]为’1’,如果第i个灯泡是开的并且为’0’则为关闭。我们还有一个开关可以翻转灯泡的状态。并且翻转操作定义如下−

  • 选择任何灯泡索引i。

  • 翻转从索引i到索引n -1的每个灯泡的状态。

我们必须找到形成目标所需的最小翻转次数。

因此,如果输入如t =“0101”,则输出将为3,如果我们从第二个灯泡开始,则下一个配置将为“0111”,然后从第三个开始,它将为“0100”,然后翻转最后一个灯泡使其成为“0101”

为了解决这个问题,我们将按照以下步骤进行−

  • count:= 0

  • x:=’0′

  • 对于t中的每个i,执行

    • 如果i与x不同,则
      • count:= count + 1

      • x:= i

  • 返回count

让我们看以下实现以获得更好的理解−

例子

def solve(t):
   count = 0
   x = '0'
   for i in t:
      if i!= x:
          count + = 1
          x = i
   return count
t =“0101”
print(solve(t))

输人

“0101”

输出

3

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程