华为OD机试 - 座位调整(Java & JS & Python)

题目描述

疫情期间课堂的座位进行了特殊的调整,不能出现两个同学紧挨着,必须隔至少一个空位。

给你一个整数数组 desk 表示当前座位的占座情况,由若干 0 和 1 组成,其中 0 表示没有占位,1 表示占位。

在不改变原有座位秩序情况下,还能安排坐几个人?

输入描述

第一行是个子数组表示作为占座情况,由若干 0 和 1 组成,其中 0 表示没有占位,1 表示占位

输出描述

输出数值表示还能坐几个人

备注

 1 ≤ desk.length ≤ 2 * 10^4

用例

输入 1,0,0,0,1
输出 1
说明 只有desk[2]的位置可以坐一个人

题目解析
我的解题思路如下:

将输入解析为一个整型数组desk,然后遍历每一个元素desk[i]:

  • 如果 desk[i] == 0,则说明desk[i]是一个空位,此时只需要检查desk[i]的左右两边也是空位,则说明desk[i]可以坐人,此时将desk

你可能感兴趣的:(华为OD机考,java,javascript,python)