体育场找座位 - 华为OD统一考试(C卷)

OD统一考试(C卷)

分值: 100分

alt

题目描述

在一个大型体育场内举办了一场大型活动,由于疫情防控的需要,要求每位观众的必须间隔至少一个空位才允许落座。现在给出一排观众座位分布图,座位中存在已落座的观众,请计算出,在不移动现有观众座位的情况下,最多还能坐下多少名观众。

输入描述

一个数组,用来标识某一排座位中,每个座位是否已经坐人。0表示该座位没有坐人,1表示该座位已经坐人。

输出描述

整数,在不移动现有观众座位的情况下,最多还能坐下多少名观众。

示例1

输入:
10001输出:
1

示例2

输入:
0101输出:
0

备注

1 <= 数组长度 <= 10000

题解

通过贪心模拟的方法,遍历座位数组,统计连续的空座位并计算最多还能坐下多少名观众。在每次迭代中,检查当前座位及其相邻座位的状态,如果当前座位为空且两侧也为空,则可坐下一名观众。最后输出结果。

C++

#include <iostream>
#include <vector>using namespace std;int main() {string seat;cin >> seat;int result = 0, n = seat.length();// pre 用于表示前一个座位的状态, 0表示该座位没有坐人,1表示该座位已经坐人char pre = '0';for(int i = 0; i < n; i++) {// seat[i] 没有人座 且两边都没有人座if(pre == '0' && seat[i] == '0' and (i + 1 == n or seat[i+1] == '0')) {result++;pre = '1';continue;}pre = seat[i];}cout << result << endl;return 0;
}

Java

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);String seat = scanner.next();int result = 0, n = seat.length();// pre 用于表示前一个座位的状态, 0表示该座位没有坐人,1表示该座位已经坐人char pre = '0';for (int i = 0; i < n; i++) {// seat[i] 没有人座 且两边都没有人座if (pre == '0' && seat.charAt(i) == '0' && (i + 1 == n || seat.charAt(i + 1) == '0')) {result++;pre = '1';continue;}pre = seat.charAt(i);}System.out.println(result);}
}

Python

seat = input().strip()
result, n = 0, len(seat)# pre 用于表示前一个座位的状态, 0表示该座位没有坐人,1表示该座位已经坐人
pre = '0'
for i in range(n):# seat[i] 没有人座 且两边都没有人座if pre == '0' and seat[i] == '0' and (i + 1 == n or seat[i + 1] == '0'):result += 1pre = '1'continuepre = seat[i]print(result)

🙏整理题解不易, 如果有帮助到您,请给点个赞 ‍❤️‍ 和收藏 ⭐,让更多的人看到。🙏🙏🙏

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/202006.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

速达软件全系产品任意文件上传漏洞

声明 本文仅用于技术交流&#xff0c;请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;文章作者不为此承担任何责任。 1. 速达软件产品简介 速达软件专注中小企业管理软件,产品涵盖进销存软…

智能监控/安防监控视频平台EasyCVR下级更新目录表出现离线情况的两种解决方案

GB28181安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。平台既具备…

DataGrip连接虚拟机上Docker部署的Mysql出错解决

1.1 首先判断CentOS的防火墙&#xff0c;如果开启就关闭 //查看防火墙状态 systemctl status firewalld //关闭防火墙systemctl stop firewalld.service//关闭防火墙开机自启systemctl disable firewalld.service而后可以打开DataGrip连接了&#xff0c;如果连接不上执行如下…

python学习:opencv学习和numpy学习(持续更新)

目录 cv.imread() 读取图像 cv.imshow() 在窗口中显示图像 cv.imwrite() 保存图像 cv.waitKey() 等待任何键盘事件 release() 释放或关闭图像或视频捕获对象 cv.destroyAllWindows() 销毁所有窗口 cv.destroyAllWindow() 销毁某个窗口 cv.VideoCapture() 打开视频流 …

vue项目中添加刷新的按钮

刷新功能 点击导航的刷新按钮&#xff0c;刷新下方主体内容&#xff0c;我这边的项目分为左-上-下结构&#xff0c;上边为tabbar组件&#xff0c;下边为main组件&#xff0c;点击刷新整个流程是刷新按钮&#xff0c;去访问它父组件tabbar的兄弟组件main&#xff0c;使main组件…

从零开始学习 JS APL(七):实例解析关于京东案例头部案例和放大镜效果!!

大家好关于JS APl 知识点已经全部总结了&#xff0c;第七部部分全部都是案例部分呢&#xff01;&#xff01;&#xff08;素材的可以去百度网盘去下载&#xff01;&#xff01;&#xff01;&#xff09; 目录 前言 一、个人实战文档 放大镜效果 思路分析&#xff1a; 关于其它…

LeetCode算法题解(动态规划)|LeetCode583. 两个字符串的删除操作、LeetCode72. 编辑距离

一、LeetCode583. 两个字符串的删除操作 题目链接&#xff1a;583. 两个字符串的删除操作 题目描述&#xff1a; 给定两个单词 word1 和 word2 &#xff0c;返回使得 word1 和 word2 相同所需的最小步数。 每步 可以删除任意一个字符串中的一个字符。 示例 1&#xff1a; …

固态硬盘的优势是什么?

固态硬盘的优势是什么&#xff1f; 1、重量轻体积小。固态硬盘相比机械硬盘在体积上更小&#xff0c;重量更轻。一般来说&#xff0c;台式机的机械硬盘的尺寸在3.5英寸&#xff0c;而SATA接口的固态硬盘的尺寸仅有2.5英寸&#xff0c;而M.2接口的固态硬盘体积更小&#xff0c;只…

听力长难句

[ 01 ] Usually, when we think of DNA, we think of the DNA Thats in cells nucleus, but in fact a cell mitochondrion also contains DNA. In this particular situation, mitochondrial DNA analysis made more sense than nuclear DNA analysis. 翻译&#xff1a; 通…

新手管理者有哪些需要学习的内容?

作为新手管理者&#xff0c;需要学习的内容非常多。以下是一些重要的学习内容&#xff1a; 1. 领导力和管理技能&#xff1a;作为管理者&#xff0c;首先要学习如何有效地领导和管理团队。这包括学习如何激励员工、制定目标和计划、分配任务、解决冲突等。管理者需要具备良好的…

解决Ubuntu使用supervisor管控的程序不能使用麦克风的问题

项目场景&#xff1a; Ubuntu服务器有时候可能更多的是用来跑服务&#xff0c;但是如果用来调取麦克风又担心自己的程序崩溃掉&#xff0c;你可能自然想到使用supervisor来管控自己的程序&#xff0c;但是似乎并不是那么好用。 问题描述 Ubuntu正常使用机器的能力是没有问题的…

【医疗设备方案】脉搏式血氧仪方案

脉搏式血氧仪的主要测量数据分别是血氧饱和度、脉率、血流灌注指数。其中血氧饱和度是指在全部血容量中被结合氧气容量占全部可结合的氧气容量的百分比&#xff0c;是临床医疗上重要的基础数据之一。 脉搏式血氧仪测量原理 典型的脉搏式血氧仪带有一颗光电二极管PD和两颗发光二…

亚马逊云科技re:Invent大会:RAG技术赋能企业AI应用的新纪元

在最新一届re:Invent大会中&#xff0c;亚马逊云科技的数据和人工智能副总裁Swami Sivasubramanian博士提出了一系列AI产品&#xff0c;其中RAG技术成为了企业构建生成式AI应用的重要选择。这种技术的实质是将向量数据库与大语言模型相结合&#xff0c;赋予大模型记忆的能力&am…

LangChain的函数,工具和代理(五):Tools Routing

关于langchain的函数、工具、代理系列的博客我之前已经写了四篇&#xff0c;还没有看过的朋友请先看一下&#xff0c;这样便于对后续博客内容的理解&#xff1a; LangChain的函数&#xff0c;工具和代理(一)&#xff1a;OpenAI的函数调用 LangChain的函数&#xff0c;工具和代…

2023最全的Web自动化测试介绍(建议收藏)

做测试的同学们都了解&#xff0c;做Web自动化&#xff0c;我们主要用Selenium或者是QTP。 有的人可能就会说&#xff0c;我没这个Java基础&#xff0c;没有Selenium基础&#xff0c;能行吗&#xff1f;测试虽然属于计算机行业&#xff0c;但其实并不需要太深入的编程知识&…

C++模板初阶

文章目录 泛型编程函数模板格式模板调用的是同一个函数吗&#xff1f;模板的实现原理T不明确模板实例化的函数和普通函数 类模板类模板写法类模板用法 注意事项 泛型编程 假如我们要写一个两数交换的函数&#xff0c;按我们之前学的知识&#xff0c;我们会这样。 void Swap(i…

TypeScript 在前端开发中的应用范围有哪些?

引言 TypeScript是一种由Microsoft开发的开源编程语言&#xff0c;它是JavaScript的超集&#xff0c;添加了静态类型和其他一些面向对象的特性。在前端开发中&#xff0c;TypeScript的应用范围非常广泛&#xff0c;它不仅提供了更好的开发工具支持&#xff0c;还在代码质量、可…

微信小程序基础bug

1.苹果11手机小程序请求数据不显示 设置-》隐私-》分析与改进-》开启 ”与开发者共享“ 2.<navigator>组件回退delta不成功 tabBar 页面是不能实现后退的效果的. 因为, 当我们跳转到 tabBar 页面&#xff0c;会关闭其他所有非tabBar 页面,所以当处于 tabBar 页面时, 无…

SAP ABAP 通过右键菜单完成Tree Control 节点的增删改功能

通过右键菜单完成Tree Control 节点的增删改功能 Tree 节点的增删改是很重要的功能&#xff0c;包括&#xff1a;增加本级节点&#xff0c;增加子节点&#xff0c;修改节点&#xff0c;删 除节点。完成后效果如下&#xff1a; 选择根节点&#xff0c;单击右键&#xff0c;弹…

peertalk Usbmux 资料收集与整理

Usbmux - The iPhone Wiki Usbmux During normal operations, iTunes communicates with the iPhone using something called “usbmux” – this is a system for multiplexing several “connections” over one USB pipe. Conceptually, it provides a TCP-like system –…