2023华为od机试统一考试B卷Java实现【座位调整】

2023-10-27

前言

本题使用Java解答,如果需要python答案,请参考以下链接:

点我

思路

如果某位置是空的(用0表示),要检查这个位置的左右是否也是空的。如果是,则这个位置可以坐人。
如果这个位置坐人了,那么下一个位置肯定不能坐人,所以我们要向前跳过一个位置。

题目

由于特殊关系,要求不能让两个同学坐在紧挨着的位置上。换而言之,两人之间必须有至少一个空位。给定一个由0和1组成的整数数组desk,其中0表示座位空闲,1表示座位已经被占据。在不改变原有座位秩序的情况下,计算还可以安排坐几个人。

输入描述:
第一行是一个整数数组,表示座位的占座情况,由若干个0和1组成,其中0表示座位空闲,1表示座位已占据。

输出描述:
输出一个整数,表示还能坐下多少人。

补充说明:
1 ≤ desk.length ≤ 2 * 10^4

示例1:
输入:
1,0,0,0,1

输出:
1

说明:
在这个例子中,只有desk[2]位置可以坐一个人。

解题思路

主要的判断规则是,如果当前的作为是空闲的,那么还需要检查当前的左右是否也是空闲的。如果是,那么这个位置就可以使用,把当

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

2023华为od机试统一考试B卷Java实现【座位调整】 的相关文章

随机推荐