华为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%内容,订阅专栏后可继续查看/也可单篇购买

华为OD机试刷题 文章被收录于专栏

华为OD机试刷题记录机考算法题库,帮助你上岸华为。提供C++/Java、JavaScript、Python四种语言的解法。

全部评论

相关推荐

特斯联 后端开发 300 + 450餐补
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务