【华为OD】停车场有一横排车位,0代表没有停车,1代表有车。 至少停了一辆车在车位上,也至少有一个空位没有停车。

这道题目涉及停车场的车位分配,要求在至少有一辆车停放且至少有一个空位的情况下,找到一种安排使车与车之间的最远距离最大化。输入是一个包含0和1的字符串,表示车位状态,0代表空位,1代表已停车。输出应为一个整数,表示最大距离。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目
停车场有一横排车位,0代表没有停车,1代表有车。 至少停了一辆车在车位上,也至少有一个空位没有停车。 为防止刮蹭,需为停车人找到一个车位, 使得停车人的车最近的车辆的距离是最大的。 返回此时的最大距离 🧐

输入
一个用半角逗号分割的停车标识字符串,停车标识为0或1, 0为空位,1为已停车
停车位最多有100个 📥
输出
输出一个整数记录最大距离

解法一
# str=input()
str='1,0,0,0,0,1,0,1,0,1'
car_list=str.split(',')
res=[]
temp=0

for item in car_list:#判断连续的0出现的次数。
    if item=='0':
        temp+=1
    else:
        res.append(temp)
        temp=0
res.append(temp)
for i in range(len(res)):# 1:1 2:1 3:2 4:2 5:3
    if i==0 or i==len(res)-1:#如果连续的0出现在头尾两端,则不需要进行处理
        continue
    else:
        res[i]=(res[i]+1)//2#如果连续的0出现在列表中间,则需要
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值