11、标题:找车位
【找车位】停车场有一横排车位,0代表没有停车,1代表有车。至少停了一辆车在车位上,也至少有一个空位没有停车。为了防刮蹭,需为停车人找到一个车位,使得距
停车人的车最近的车辆的距离是最大的,返回此次的最大距离。
输入描述:
1、一个用半角逗号分割的停车标识字符串,停车标识为0或1,0为空位,1为已停车。
2、停车位最多100个。输出描述:
输出一个整数记录最大距离。
示例1:
输入
1,0,0,0,0,1,0,0,1,0,1
输出
2
def parking(s):
arr = [int(x) for x in s.split(",")]
max_distance = 0
for i in range(len(arr)):
if arr[i] == 0:
left_max_distance = 0
right_max_distance = 0
j = i - 1
while j >= 0:
left_max_distance = i - j
if arr[j] == 1:
break
j -= 1
k = i + 1
while k <= len(arr) - 1:
right_max_distance = k - i
if arr[k] == 1:
break
k += 1
max_distance = max(max_distance, min(left_max_distance, right_max_distance))
return max_distance
print(parking("1,0,0,0,0,1,0,0,1,0,1"))