[关闭]
@yexiaoqi 2022-05-24T07:30:29.000000Z 字数 581 阅读 534

最少停车数

刷题 华为机试


题目:特定大小的停车场,数组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辆车

  1. public static void main(String[] args) {
  2. Scanner sc = new Scanner(System.in);
  3. while(sc.hasNext()){
  4. //使用正则表达式分割,0+:'0'出现一次或者多次
  5. String[] cars = sc.next().replace(",","").split("0+");
  6. int count = 0;
  7. for(String car : cars){
  8. count += (car.length()+2)/3;//使用分页公式
  9. }
  10. System.out.println(count);
  11. }
  12. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注