用于检查是否所有人都可以在 Python 中获得席位的程序
假设我们有一个数字n,有n个人在寻找座位,我们还有一个位列表,其中1表示已被占用的座位,0表示空座位。没有两个人可以挨着坐,所以我们必须检查是否所有n个人都能找到座位。
因此,如果输入类似于n=2个座位=[1,0,0,0,1,0,0],那么输出将为True,因为它们可以位于索引2和6。
示例
让我们看看以下实现以获得更好的理解-
def solve(n, seats):
seats = [0] + seats + [0, 1]
res = 0
gap = 0
for i in seats:
if i == 0:
gap += 1
elif gap > 0:
res += (gap - 1) //2
gap = 0
return res >= n
n = 2
seats = [1, 0, 0, 0, 1, 0, 0]
print(solve(n, seats))输入
2, [1, 0, 0, 0, 1, 0, 0]输出结果
True