在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
    猜你喜欢