@yexiaoqi
2022-05-24T15:30:29.000000Z
字数 581
阅读 671
刷题
华为机试
题目:特定大小的停车场,数组cars表示,其中1表示有车,0表示没车,车辆大小不一,小车占一个车位(长度1),货车占两个车位(长度2),卡车占三个车位(长度3)。统计停车场最少停了几辆车,返回具体的数目。
难度:*
输入描述:整型字符串数组cars,其中1表示有车0表示没车,数组长度<1000
输出描述:整型数字字符串,表示最少停车数
示例1:
输入:1,0,1
输出:2
说明:一个小车占第一个车位,第二个车位空,一个小车占第三个车位,最少有两辆车
示例2:
输入:1,1,0,0,1,1,1,0,1
输出:3
说明:一个货车占第1,2个车位,第3,4个车位空,一个卡车占第5,6,7个车位,第8个车位空,一个小车占第9个车位,最少停了3辆车
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
//使用正则表达式分割,0+:'0'出现一次或者多次
String[] cars = sc.next().replace(",","").split("0+");
int count = 0;
for(String car : cars){
count += (car.length()+2)/3;//使用分页公式
}
System.out.println(count);
}
}