在Python中检查程序员约定安排是否正确的程序
假设我们有一个数字n,它表示希望输入约定的程序员,并且我们也有一个数字列表,约定1表示程序员,0表示空白。现在的条件是没有两个程序员可以挨着坐,我们必须检查是否所有n个程序员都可以输入约定。
因此,如果输入类似于n=2,conference=[0,0,1,0,0,0,1],则输出将为True
为了解决这个问题,我们将遵循以下步骤-
对于介于0到转化大小范围内的i,执行
转化[i]:=1
n:=n-1
当i-1<0时a:=0否则i-1
b:=i+1时conv-1的大小>=conv否则i+1的大小
如果conv[i]等于0,conv[a]等于0,conv[b]等于0,则
当n<=0时返回true,否则返回0。
示例
class Solution:
def solve(self, n, conv):
for i in range(len(conv)):
a=0 if i-1<0 else i-1
b=len(conv)-1 if i+1>=len(conv) else i+1
if conv[i]==0 and conv[a]==0 and conv[b]==0:
conv[i]=1
n-=1
return n<=0
ob = Solution()n = 2
convention = [0, 0, 1, 0, 0, 0, 1]
print(ob.solve(n, convention))输入值
2, [0, 0, 1, 0, 0, 0, 1]
输出结果
True