在Python中查找空座位和已占用座位之间的最大距离的程序
假设我们有一个只有0和1的列表,称为座位。其中seats[i]代表一个座位。为1时,则被占用,否则为空闲。至少有一个空闲座位和至少一个占用座位,我们必须找到从一个空闲座位到最近的占用座位的最大距离。
所以,如果输入像seats=[1,0,1,0,0,0,1],那么输出就是2,因为我们可以占据seats[4],那么距离就是2。
示例
让我们看下面的实现来更好地理解
def solve(seats):
res, last, n = 0, -1, len(seats)
for i in range(n):
if seats[i]:
res = max(res, i if last < 0 else (i - last) //2)
last = i
return max(res, n - last - 1)
seats = [1, 0, 1, 0, 0, 0, 1]
print(solve(seats))输入
[1, 0, 1, 0, 0, 0, 1]输出结果
2
热门推荐
10 新年门口花束祝福语简短
11 盘锦结婚祝福语大全简短
12 父母生日祝福语 简短独特
13 家庭恩爱祝福语简短英文
14 高考俄语祝福语大全简短
15 虎年祝福语 诗句唯美简短
16 生日婚礼祝福语简短精辟
17 虎年喝酒拜年祝福语简短
18 教师闺蜜祝福语简短