找车位

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

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

输入描述:

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

2、停车位最多100个。

输出描述:

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

示例1:

输入

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

输出

2

let str = '1,0,0,0,0,1,0,0,1,0,1'
function test(str){
    let arr = str.split(',')
    let maxCount = 0
    for(let i=0;i<arr.length;i++){
        let leftCount = 0
        let rightCount = 0
        if(arr[i]!=='1'){
            let index = i
            while (index>0&&arr[index]==='0'){
                leftCount++
                index--
            }
            index = i
            while (index<arr.length&&arr[index]==='0'){
                rightCount++
                index++
            }
            let count = Math.min(leftCount,rightCount)
            maxCount = Math.max(count,maxCount)
        }
    }
    console.log(maxCount);
}
test(str)
机试题 文章被收录于专栏

某机试题,网上很少用js写的答案只有自己写了

全部评论
```js const rl = require("readline").createInterface({ input: process.stdin }); var iter = rl[Symbol.asyncIterator](); const readline = async () => (await iter.next()).value; void (async function () { // Write your code here while ((line = await readline())) { let arr = line.split(",").map(item => parseInt(item)); console.log(findPark(arr)); } function findPark(arr) { let num = 0; for (let i = 0; i < arr.length; i++) { if (arr[i] === 1) { continue; } let leftNum = 0; let rightNum = 0; for (let j = i - 1; j >= 0; j--) { if (arr[j] === 1) { leftNum = i - j; break; } } for (let j = i + 1; j < arr.length; j++) { if (arr[j] === 1) { rightNum = j - i; break; } } let temp = Math.min(leftNum,rightNum); num = Math.max(temp,num) } return num; } })(); ```
点赞 回复 分享
发布于 2023-04-13 21:54 河南

相关推荐

湫湫湫不会java:先投着吧,大概率找不到实习,没实习的时候再加个项目,然后把个人评价和荣誉奖项删了,赶紧成为八股战神吧,没实习没学历,秋招机会估计不多,把握机会。或者说秋招时间去冲实习,春招冲offer,但是压力会比较大
点赞 评论 收藏
分享
评论
点赞
5
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务