🌈 Scala 实现
题目描述:
- 特定大小的停车场,用数组cars表示,其中1表示有车 0表示没车。
- 车辆大小不一,小车占一个车位(长度1),货车占两个车位(长度2),卡车占三个车位(长度3)。
- 统计停车场最少可以停多少辆车,返回具体的数目。
输入描述:
- 整型字符串数组cars,其中1表示有车0表示没车,数组长度<1000。
输出描述:
- 整型数字字符串,表示最少停车数。
示例:
输入:
- 1,0,1
输出:
- 2
说明:
- 一个小车占第一个车位
- 第二个车位空
- 一个小车占第三个车位
- 最少有两辆车
输入:
- 1,1,0,0,1,1,1,0,1
输出:
- 3
说明:
- 一个货车占第1,2个车位
- 第3,4个车位空
- 一个卡车占第5,6,7个车位
- 第8个车位空
- 一个小车占第9个车位
- 最少三辆车
代码:
def main(args: Array[String]): Unit = {
val scan = new Scanner(System.in)
// 获取输入
val cars = scan.nextLine().split(",")
val str = new StringBuilder()
cars.map(str.append(_))
// 获取到每一辆车
val strCar = str.toString().split("0")
// 获取最少可以停多少辆车
var minCars = 0
strCar.map(car => {
var L = car.length
if (L / 3 != 0) { // 卡车
minCars += L / 3
L %= 3
} else if (L / 2 != 0) { // 货车
minCars += L / 2
L %= 2
} else { // 小车
minCars += L
}
})
// 输出结果
println(minCars)
}
❤️ END ❤️