假设我们有一个数字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