华为OD机试统一考试D卷C卷 - 找座位
题目描述
在一个大型体育场内举办了一场大型活动,由于疫情防控的需要,要求每位观众的必须间隔至少一个空位才允许落座。
现在给出一排观众座位分布图,座位中存在已落座的观众,请计算出,在不移动现有观众座位的情况下,最多还能坐下多少名观众。
输入描述
一个数组,用来标识某一排座位中,每个座位是否已经坐人。0表示该座位没有坐人,1表示该座位已经坐人。
- 1 ≤ 数组长度 ≤ 10000
输出描述
整数,在不移动现有观众座位的情况下,最多还能坐下多少名观众。
用例1
输出 |
1 |
说明 |
无 |
用例2
输出 |
0 |
说明 |
无 |
Java
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); char[] seats = scanner.nextLine().toCharArray(); // 读取输入的座位信息并转换为字符数组 int maxAdditional = 0; // 最大额外观众数初始化为0 for (int i = 0; i < seats.length; i++) { // 遍历座位数组 if (seats[i] == '0' && (i == 0 || seats[i - 1] == '0') && (i == seat
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
机试E卷D卷刷题日记 文章被收录于专栏
机试刷题记录