使用 Python 使用二进制字符串制作灯泡切换器的程序
假设我们在一个房间里有n个灯泡,这些灯泡的编号从0到n-1。我们必须将它们从左到右排列成一排。最初,所有灯泡都关闭(0状态)。我们必须得到由给定目标数组't'表示的配置,其中t[i]如果第i个灯泡打开,则为'1',如果关闭,则为'0'。我们还有一个开关来翻转灯泡的状态。翻转操作定义如下-
选择任何灯泡指数i。
将每个灯泡从索引i翻转到索引n-1。
我们必须找到形成目标所需的最少翻转次数。
所以,如果输入像t=“0101”,那么输出将是3,如果我们从第二个灯泡开始,那么下一个配置将是“0111”,然后从第三个开始,它将是“0100”,然后翻转最后灯泡使其成为“0101”
为了解决这个问题,我们将按照以下步骤操作-
计数:=0
x:='0'
对于每个i在t,做
计数:=计数+1
x:=i
如果i与x不同,则
返回计数
让我们看看以下实现以获得更好的理解-
示例
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