前言
本题使用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]位置可以坐一个人。
解题思路
主要的判断规则是,如果当前的作为是空闲的,那么还需要检查当前的左右是否也是空闲的。如果是,那么这个位置就可以使用,把当