def max_additional_seats(desk):count = 0n = len(desk)for i in range(n):if desk[i] == 0:left_ok = (i == 0) or (desk[i-1] == 0)right_ok = (i == n-1) or (desk[i+1] == 0)if left_ok and right_ok:desk[i] = 1count += 1return count# 读取输入desk = list(map(int, input.strip.split(',')))print(max_additional_seats(desk))遍历座位数组:检查每个座位是否可以坐人。一个座位可以坐人的条件是:摘要:def max_additional_seats(desk):count = 0n = len(desk)for i in range(n):if desk[i] == 0:left_ok = (i == 0) or (desk[i-1] == 0)right
当前座位是空的(0)。
左边的座位(如果存在)是空的或者不存在。
右边的座位(如果存在)是空的或者不存在。
标记已坐的座位:一旦找到一个可以坐的座位,立即将其标记为已坐(1),以避免后续检查时重复计算或违反规则。来源:阿花说科技