【编程题目 |100分】找车位【2021 考试题】
时间限制:C/C++ 1秒,其他语言 2秒
空间限制:C/C++262144K,其他语言524288K
64bit IO Format:%lld
本题可使用本地IDE编码,不能使用本地已有代码,无跳出限制,
编码后请点击”保存并调试“按钮进行代码提交。
■ 题目描述
【找车位】
停车场有一横排车位,0代表没有停车,1代表有车。至少停了一辆车在车位上,也至少有一个空位没有停车。
为了防剐蹭,需为停车人找到一个车位,使得距停车人的车最近的车辆的距离是最大的,返回此时的最大距离。
输入描述
1、一个用半角逗号分割的停车标识字符串,停车标识为0或1,0为空位,1为已停车。
2、停车位最多100个。
输出描述
输出一个整数记录最大距离。
示例1 输入输出示例仅供调试,后台判题数据一般不包含示例
输入
1,0,0,0,0,1,0,0,1,0,1
输出
2
说明
当车停在第3个位置上时,离其最近的的车距离为2(1到3)。
当车停在第4个位置上时,离其最近的的车距离为2(4到6)。
其他位置距离为1。
因此最大距离为2。
代码实现
C++
#include <bits/stdc++.h> using namespace std; /* 测试数据如下: 1 0 0 0 1 0 1 0 1 0 2 1 0 0 0 0 0 0 0 0 0 9 1 0 0 0 3 0 0 0 1 3 0 0 0 0 0 0 0 0 0 1 9 1 0 0 0 0 0 0 0 0 1 4 0 0 0 0 0 0 0 0 0 0 9 0 0 0 2 */ int parking(vector<int> &park)
剩余50%内容,购买单篇文章或订阅会员后查看
此处内容需要权限查看
会员免费查看Golang
package main import ( "bufio" "fmt" "os" "strings" ) func main() { var str string r := bufio.NewReader(os.Stdin) str, _ = r.ReadString('\n')
剩余50%内容,购买单篇文章或订阅会员后查看
此处内容需要权限查看
会员免费查看JAVA解法一
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String line = sc.next(); String[] place = line.split(","); int count = 0, max = 0, left = 0;
剩余50%内容,购买单篇文章或订阅会员后查看
此处内容需要权限查看
会员免费查看Python解法一
剩余50%内容,购买单篇文章或订阅会员后查看
此处内容需要权限查看
会员免费查看Python解法二
positions = list(map(int, input().split(','))) maxLen = 0
剩余50%内容,购买单篇文章或订阅会员后查看
此处内容需要权限查看
会员免费查看Python解法三
positions = list(map(int, input().split(','))) maxLen = 0
剩余50%内容,购买单篇文章或订阅会员后查看
此处内容需要权限查看
会员免费查看JAVA解法二
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String[] input = sc.nextLine().split(","); int[] arr = new int[input.length]; for (int i = 0; i < input.length; i++) { arr[i] = Integer.parseInt(input[i]); }
剩余50%内容,购买单篇文章或订阅会员后查看
此处内容需要权限查看
会员免费查看JavaScript
let s = readLine().split(","); //let s = "0,0,0,0,0,1,0,0,1,0,1".split(",") let list = [];
剩余50%内容,购买单篇文章或订阅会员后查看
此处内容需要权限查看
会员免费查看