华为OD机试统一考试 - 找座位
题目描述
在一个大型体育场内举办了一场大型活动,由于疫情防控的需要,要求每位观众的必须间隔至少一个空位才允许落座。
现在给出一排观众座位分布图,座位中存在已落座的观众,请计算出,在不移动现有观众座位的情况下,最多还能坐下多少名观众。
输入描述
一个数组,用来标识某一排座位中,每个座位是否已经坐人。0表示该座位没有坐人,1表示该座位已经坐人。
- 1 ≤ 数组长度 ≤ 10000
输出描述
整数,在不移动现有观众座位的情况下,最多还能坐下多少名观众。
用例
输入 | 10001 |
输出 | 1 |
说明 | 无 |
输入 | 0101 |
输出 | 0 |
说明 | 无 |
import Foundation func ODTest_8() { print("输入描述: 一个数组,用来标识某一排座位中,每个座位是否已经坐人。0表示该座位没有坐人,1表示该座位已经坐人") var deskStr = (readLine() ?? "").map { String($0) } var count = 0 for index in 0 ..< deskStr.count { if deskStr[index] == "0" { let isLeftEmpty = index == 0 || deskStr[index - 1] == "0" let isRightEmpty = index == deskStr.count - 1 || deskStr[index + 1] == "0" if isLeftEmpty && isRightEmpty { count += 1 deskStr[index] = "1" } } } print("输出描述") print(count) }
2024华为OD机试卷题 文章被收录于专栏
本专栏给大家提供了华为2024最新华为OD 题目汇总。华为OD机试刷题记录机考算法题库,帮助你上岸华为。提供C++/Java、JavaScript、Python四种语言的解法。