华为OD机试真题 Java 实现【找车位】【2023 B卷 100分】,附详细解题思路

news/2025/3/5 7:18:41/

在这里插入图片描述

一、题目描述

停车场有一横排车位,0代表没有停车,1代表有车。至少停了一辆车在车位上,也至少有一个空位没有停车。

为了防剐蹭,需为停车人找到一个车位,使得距停车人的车最近的车辆的距离是最大的,返回此时的最大距离。

二、输入描述

1、一个用半角逗号分割的停车标识字符串,停车标识为0或1,0为空位,1为已停车。

2、停车位最多100个。

三、输出描述

输出一个整数记录最大距离。

输入

1,0,0,0,0,1,0,0,1,0,1

输出

2

说明

当车停在第3个位置上时,离其最近的的车距离为2(1到3)。

当车停在第4个位置上时,离其最近的的车距离为2(4到6)。

其他位置距离为1。

因此最大距离为2。

四、解题思路

  1. 读取输入的停车位状态字符串,使用逗号分割得到停车位数组;
  2. 初始化计数变量 count 为 0,最大距离变量 max 为 0,左侧标记变量 left 为 0;
  3. 遍历停车位数组,对于每个停车位:
    • 如果停车位是空位(0),将计数变量 count 加一;
    • 如果停车位是已停车位(1):
      • 如果左侧标记 left 为 0,说明当前停车位是第一个停车位,更新最大距离为 count 的两倍,设置左侧标记 left 为 1;
      • 如果左侧标记 left 不为 0,说明当前停车位不是第一个停车位,更新最大距离为当前最大距离和 count 中的较大值;
      • 将计数变量 count 重置为 0。
  4. 如果停车位数组的最后一个停车位是空位(0),更新最大距离为 count 的两倍;
  5. 最大距离除以 2,然后向上取整,得到最大距离的结果;
  6. 输出最大距离结果。

五、Java算法源码

public static void main(String[] args) {Scanner sc = new Scanner(System.in);String n = sc.next();String[] arr = n.split(",");int count = 0, max = 0, left = 0;for (String str : arr) {if (str.equals("0")) {count++;} else {if (left == 0) {max = count * 2;left = 1;} else {max = Math.max(max, count);}count = 0;}}if (arr[arr.length - 1].equals("0")) {max = Math.max(max, count * 2);} else {max = Math.max(max, count);}System.out.println((max + 1) / 2);
}

六、效果展示

在这里插入图片描述

🏆下一篇:华为OD机试真题 Java 实现【跳房子II】【2023 B卷 100分】,附详细解题思路

🏆本文收录于,华为OD机试(JAVA)(2022&2023)

本专栏包含了最新最全的2023年华为OD机试真题,有详细的分析和Java解答。已帮助1000+同学顺利通过OD机考。专栏会持续更新,每天在线答疑。

在这里插入图片描述

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

相关文章

C++期末项目设计------制作一个游戏盒

目录 一、引言 二、项目简介 三、完整代码 四、参考资料 五、总结 一、引言 经过了一个学期对C的学习,也算是对C有了些基本的了解。学期期末时老师给大家布置了个小组合作项目大作业,题材不限,自由发挥。集结小组成员一起讨论过后&#…

YY一下VR游戏的潜入玩法

很早之前玩过两个小众的潜入游戏, 分别是《Warp》和《Mark of the Ninja》, 就喜欢上了这类游戏, 不过对我口味的不多, MGS5算一个. 最近又玩了另外两个潜入游戏: 《Aragami》和《Dishonored》, 发现这两个游戏有一个共同点: 游戏中的移动频繁依赖传送. 因为自己正在做VR游戏项…

可用二开游戏支付通道/西瓜视频/抖音YY陪玩YB/中油好客双端H5/个人免签/京东电费qq293814的头像-彩虹支付授权游戏通道

演示站:http://zsj.cgxyes.top/index/user/index.html cs293814 cs293814 2022/6/12号。前面购买和以后购买 全部带更新。 中油好客 失效。易捷石化 凌晨12点无法使用。限制 yy免ck 微信失效 拍前必看:本店所售程序只供测试研究,不得使用…

挂yy协议的服务器,yy协议挂机工具免费版

iefans为用户提供的yy协议挂机工具给需要的用户带来方便,使用yy协议挂机工具就可以解决一台电脑登录超多的yy账号,让你拥有海量的马甲以及书人气给直播间增加流量等,功能强大使用方便需要的用户赶紧来iefans下载吧! yy协议挂机工具…

python小游戏源码

见缝插针小游戏,设置关卡,难度逐渐增大,效果图如下,需要的话去个人主页提取资源 部分代码如下: def __init__(self, angle): self.x x0 self.y y0 length self.center (self.x, self.y) …

挂yy协议的服务器,yy协议挂机软件

yy协议挂机软件由西西为大家整理而来,YY协议软件主要用于挂机使用,如工作室为了刷人气、直播间为了制造虚假的观众人数等情形时,都可以使用这款软件在线进行批量处理,当然网络上也有许多打着YY协议软件旗号的木马病毒,…

《环信开发者技术等级考试》有奖问答正在进行中。。。

欢迎参加《环信开发者技术等级考试》,希望大家凝神静气,考出水平。 值此环信十周年,参与本次考试所有考生均可凭实力获得周年大礼包。 考场设置 本次考试主要考察大家对集成环信IM以及环信开通服务的熟悉度。 题型包含单选和多选&#xff…

程序员的职场危机,能靠技术化解吗?

很多人认为,程序员一定要干到管理层,才会有继续走下去的希望,而踏实做技术的程序员,只会面临淘汰。 事实真是如此吗? △ 截图来源脉脉,如侵删 我们先不说结论,一起看看网友们的看法&#xff1…