当前位置: 首页 > news >正文

华为OD-D卷找座位

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

输入描述:

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

输出描述:

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

备注:

1<=数组长度<=10000

题目解析:只要保证第i个位置的i-1和i+1都是空的就可以坐,只需要特殊处理首位和末尾就可以!

import java.util.*;public class Main {public static void main(String[] args) {
//        int[] nums = new int[]{1, 0, 0, 0, 1};// 处理数据Scanner scanner = new Scanner(System.in);String string1 = scanner.next();int[] nums = new int[string1.length()];for (int i = 0; i < nums.length; i++) {nums[i] = string1.charAt(i) - '0';}if (nums.length == 1) {if (nums[0] == 0) {System.out.println(1);} else {System.out.println(0);}return;}int result = 0;for (int i = 0; i < nums.length; i++) {if (nums[i] == 0) {// 依次处理首位,中间,末尾,注意顺序if (i == 0 && nums[i + 1] == 0) {nums[i] = 1;result++;} else if (i > 0 && i < nums.length - 1 && nums[i + 1] == 0 && nums[i - 1] == 0) {nums[i] = 1;result++;} else if (i == nums.length - 1 && nums[i - 1] == 0) {nums[i] = 1;result++;}}}System.out.println(result);}
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 计算机毕业设计选题推荐-生活垃圾治理系统-Java/Python项目实战
  • 苹果应用程序清理卸载工具:App Cleaner Uninstaller Pro for Mac
  • Python设计模式 - 抽象工厂模式
  • Java学习Day20
  • RabbitMQ、Kafka对比(超详细),Kafka、RabbitMQ、RocketMQ的区别
  • 接口自动化测试框架中动态参数接口,加密接口,签名接口你们是怎么处理的?
  • TCP如何建立长连接
  • Jar工具完全指南:从入门到精通
  • C语言学习——函数
  • MySQL常用的日期和时间函数
  • oracle 比较两个值取小使用LEAST函数
  • 2024年湖北省建筑施工特种作业人员证书延期申请/年审
  • 精彩回顾 | ROS暑期“无人机自主追踪小车”训练营
  • 深度学习四大框架之争(Tensorflow、Pytorch、Keras和Paddle)
  • 鸿蒙笔记--Socket
  • 【402天】跃迁之路——程序员高效学习方法论探索系列(实验阶段159-2018.03.14)...
  • 【剑指offer】让抽象问题具体化
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • Centos6.8 使用rpm安装mysql5.7
  • ES6--对象的扩展
  • Github访问慢解决办法
  • Git同步原始仓库到Fork仓库中
  • input实现文字超出省略号功能
  • mysql中InnoDB引擎中页的概念
  • Vue.js-Day01
  • win10下安装mysql5.7
  • 电商搜索引擎的架构设计和性能优化
  • 软件开发学习的5大技巧,你知道吗?
  • 我的业余项目总结
  • 找一份好的前端工作,起点很重要
  • 【运维趟坑回忆录】vpc迁移 - 吃螃蟹之路
  • 大数据全解:定义、价值及挑战
  • ​比特币大跌的 2 个原因
  • #1015 : KMP算法
  • #C++ 智能指针 std::unique_ptr 、std::shared_ptr 和 std::weak_ptr
  • #在线报价接单​再坚持一下 明天是真的周六.出现货 实单来谈
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (补充):java各种进制、原码、反码、补码和文本、图像、音频在计算机中的存储方式
  • (二)c52学习之旅-简单了解单片机
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (附源码)ssm高校志愿者服务系统 毕业设计 011648
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (四)React组件、useState、组件样式
  • (四)软件性能测试
  • *2 echo、printf、mkdir命令的应用
  • ..回顾17,展望18
  • .NET Remoting Basic(10)-创建不同宿主的客户端与服务器端
  • .Net Web项目创建比较不错的参考文章
  • .Net 垃圾回收机制原理(二)
  • .NET 设计模式—简单工厂(Simple Factory Pattern)
  • .Net 执行Linux下多行shell命令方法
  • .NET 中小心嵌套等待的 Task,它可能会耗尽你线程池的现有资源,出现类似死锁的情况
  • .NET高级面试指南专题十一【 设计模式介绍,为什么要用设计模式】
  • .net解析传过来的xml_DOM4J解析XML文件