[华为OD]C卷 找座位,在一个大型体育场内举办了一场大型活动,由于疫情防控的需要 100

题目:

在一个大型体育场内举办了一场大型活动,由于疫情防控的需要,要求每位观众的必须间隔至 

少一个空位才允许落座。现在给出一排观众座位分布图Q,座位中存在已落座的观众,请计 

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

输入描述

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

示该座位已经坐人。

输出描述

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

示例1输入输出Q示例仅供调试,后台判题数据一般不包含示例 

输入 

10001 

输出 

示例2

输入输出示例仅供调试,后台判题数据一般不包含示例 

输入 

0101 

输出 

备注

1<=数组长度<=10000

题解:

这个可以将字符串变为char型数组,然后判断条件就是在中间位置的时候 第i-1位,i位,i+1位都是0,然后将第i位变成1继续判断。

其中两个边界的特殊情况,开始1,2位都是0,那么这种情况可以直接将第一个变为1

另外就是倒数第3位是1,但倒数第2,1位是0,可以将最后一个变为1.

按照这个逻辑计算就可以了。

import java.util.Scanner;public class FindSeat {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String posStr = sc.nextLine();int count = 0;char[] posCharArr = new char[posStr.length()];for (int i = 0; i < posStr.length(); i++) {posCharArr[i] = posStr.charAt(i);}for (int i = 0; i < posStr.length(); i++) {if (i == 0 && posCharArr[i] == '0' && posCharArr[i + 1] == '0') {count++;posCharArr[i] = '1';continue;}if (posStr.length() <= 1) {continue;}if (i > 0 && i < posStr.length() - 2 && posCharArr[i] == '0'     //中间位置判断,这个时候i>0,因为i=0那种特殊情况前面已经判断了&& posCharArr[i - 1] == '0' && posCharArr[i + 1] == '0') {count++;posCharArr[i] = '1';continue;}if (i == posStr.length() - 2 && posCharArr[i] == '0'&& posCharArr[i - 1] == '1' && posCharArr[i + 1] == '0') {count++;posCharArr[i + 1] = '1';continue;}}System.out.println(count);}
}

验证:

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

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

相关文章

Linux中ssh登录协议

目录 一.ssh基础 1.ssh协议介绍 2.ssh协议的优点 3.ssh文件位置 二.ssh原理 1.公钥传输原理&#xff08;首次连接&#xff09; 2.ssh加密通讯原理 &#xff08;1&#xff09;对称加密 &#xff08;2&#xff09;非对称加密 3.远程登录 三.服务端的配置 常用的配置项…

vscode 配置与插件记录

vscode插件 python PythonPython DebuggerruffisortPylanceJupyterJupyter KeymapJupyter Slide ShowJupyter Cell TagsautoDocstring - Python Docstring Generator ruff isort pylance autodocsting 在setting.json里这么配置&#xff0c;这样你保存时就会自动format…

Matlab|含sop的33节点配电网优化

目录 1 主要内容 2 部分代码 3 程序结果 4 下载链接 1 主要内容 程序以IEEE33节点为例&#xff0c;分析含sop的配电网优化&#xff0c;包括sop有功约束、无功约束和容量约束&#xff0c;非线性部分通过转换为旋转锥约束进行编程&#xff0c;并且包括33节点配电网潮流及对应…

Re69:读论文 LaMDA: Language Models for Dialog Applications

诸神缄默不语-个人CSDN博文目录 诸神缄默不语的论文阅读笔记和分类 论文名称&#xff1a;LaMDA: Language Models for Dialog Applications ArXiv网址&#xff1a;https://arxiv.org/abs/2201.08239 本文介绍谷歌提出的对话大模型LaMDA&#xff0c;主要关注对各项指标&#x…

智慧能源数据监控平台

随着科技的飞速发展&#xff0c;能源管理已逐渐从传统的粗放型向精细化、智能化转变。在这个转型过程中&#xff0c;HiWoo Cloud平台的智慧能源数据监控平台以其独特的技术优势和创新理念&#xff0c;正引领着能源管理的新潮流。 一、智慧能源数据监控平台的概念 智慧能源数据…

经典文献阅读之--SurroundOcc(自动驾驶的环视三维占据栅格预测)

0. 简介 环视BEV已经是很多场景中需要的功能&#xff0c;也是视觉代替激光雷达的有效解决方案&#xff0c;而《SurroundOcc: Multi-camera 3D Occupancy Prediction for Autonomous Driving》一吻则代表了这个领域的SOTA算法&#xff0c;文中通过多帧点云构建了稠密占据栅格数据…

微信小程序for循环示例(JavaScript)

微信小程序for循环示例&#xff08;JavaScript&#xff09; 在微信小程序开发中&#xff0c;我们最常用的循环方式就是for和foreach&#xff0c;接下来我就浅浅的将自己的写的一小段示例代码分享给大家。 首先是for循环&#xff0c;也是咱们最常用的方式&#xff0c;具体示例…

python爬虫插件XPath的安装

概要 XPath Helper是一款专用于chrome内核浏览器的实用型爬虫网页解析工具。XPath可以轻松快捷地找到目标信息对应的Xpath节点&#xff0c;获取xpath规则&#xff0c;并提取目标信息&#xff0c;并进行校对测试&#xff1b;可对查询出的xpath进行编辑&#xff0c;正确编辑的结…

微信开发api、微信视频号开发

接口地址&#xff1a; http://api.videostui.com/finder/v2/api/login/checkLogin 接口说明 获取到登录二维码后需每间隔5s调用本接口来判断是否登录成功新设备登录平台&#xff0c;次日凌晨会掉线一次&#xff0c;重新登录时需调用获取二维码且传appId取码&#xff0c;登录成…

课程34:Windows Docker部署.Net Core项目

这里写目录标题 🚀前言一、安装Docker Desktop1.1 官网下载Docker1.2 安装Docker1.2.1 选择配置,默认都勾选1.2.2 安装中1.2.3 安装成功1.2.4 启动1.2.5 启动成功二、.Net Core 项目发布与部署2.1 修改Dockerfile文件2.2 Web项目发布2.3 修改配置2.3.1 修改dockerfile<

android studio拍照功能问题解决

1.点击拍照功能直接闪退 2.拍照后不能选择确认键&#xff0c;无法保存 上述是在android studio做项目中经常会使用到模拟器或真机的拍照功能时主要遇到的两个问题。 解决方法&#xff1a; 1.直接闪退问题&#xff1a; if(Build.VERSION.SDK_INT>Build.VERSION_CODES.N)…

关于使用SpringSecurity框架发起JSON请求,但因登陆失效导致响应403的问题。

这里记录一个生产中遇到的一个问题。 现有环境是基于SpringBoot 2.6.8&#xff0c;然后是前后台一体化的项目。 安全框架使用的是内置版本的SpringSecurity。 在实际使用过程中遇到一个问题。 就是当用户登陆失效后&#xff0c;前端操作JSON请求获取列表数据&#xff0c;但…

323_C++_QT_使用QProcess执行cmd解压tar.gz等等其他压缩包文件到指定目录,不需要外部库,QT自带API的就行

// decompressPath : 解压到此目录 // fileName : 解压的tar.gz文件名executeCommand(decompressPath , QString::fromStdString(fileName));// 开始解压 void executeCommand

visual studio code安装Clicknium

visual studio code下载安装 Download Visual Studio Code - Mac, Linux, Windows 安装python extend&#xff0c;需要把科学上网关了 clicknium 获取插件名 clicknium 录制教程 https://blog.51cto.com/u_16213624/7007362 实战教程&#xff1a; Python 自动化神器 Click…

上海亚商投顾:沪指创年内新高 房地产板块掀涨停潮

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 三大指数昨日继续反弹&#xff0c;沪指盘中涨超1%&#xff0c;重返3100点上方&#xff0c;深成指涨超2%&#…

如何确定当前项目是采用 Vite 还是 Vue CLI 项目

查看项目的配置文件和依赖 对于 Vite 项目&#xff1a; 检查项目根目录下是否有一个名为 vite.config.js 或 vite.config.ts 的文件。这是 Vite 项目的配置文件。 在 package.json 文件中&#xff0c;查看 dependencies 和 devDependencies 部分是否包含 vite 和 vitejs/plug…

初探 JUC 并发编程:Java 并发包中并发 List 源码剖析

最近在阅读 《Java 并发编程之美》这本书&#xff0c;感觉学到了很多东西&#xff1b;所以我决定将从事书中学到的思想和一些经典的案例整理成博客的形式与大家分享和交流&#xff0c;如果对大家有帮助别忘了留下点赞和关注捏。 第五部分&#xff1a;Java 并发包中并发 List 源…

性能监控之prometheus+grafana搭建

前言 Prometheus和Grafana是两个流行的开源工具&#xff0c;用于监控和可视化系统和应用程序的性能指标。它们通常一起使用&#xff0c;提供了强大的监控和数据可视化功能。 Prometheus Prometheus是一种开源的系统监控和警报工具包。它最初由SoundCloud开发&#xff0c;并于…

【亲测有效】Element UI 自定义 Notification 通知样式不生效,设置this.$notify样式不生效问题

不生效的源代码 <style lang"scss" scoped> ::v-deep .el-notification__group {margin-left: 130px; } </style><style lang"scss" scoped> .el-notification__group {margin-left: 130px; } </style>以上两种代码均不生效 解决…

Android log tag标签如am_pss意义

Android log tag标签如am_pss意义 Android输出日志中不同的标签代表不同的意义&#xff0c;比如 am_pss&#xff0c;则代表内存回收&#xff08;整理&#xff09;。定义在源代码文件 &#xff1a; https://android.googlesource.com/platform/frameworks/base//master/servic…