用于检查是否所有人都可以在 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