解题思路
要保证能跨过河流,只要保证能跨过最长的两个石头间隙即可,这就是答案
代码
python
def find_minimum_max_step(n, river):
last_stone = -1
P1884.2024.08.14-OPPO-第1题-小O过河
题目描述
有一条长度为 n 的河流,小O初始位于左岸边(即河流左侧的岸边)。他想要跨越到河对岸(即河流右侧的岸边)。河上有一些石头可以让小O踩在上面。
小O只能踩在石头或者岸边,他想知道他至少能够到达对岸的情况下,最长的一步最短是多少。
输入描述
- 第一行输入一个整数 n (1≤n≤2×105) 代表河流的长度。
- 第二行输入 n 个整数数组 a1,a2,…,an (0≤ai≤1) 代表是否是石头,ai=1 说明当前位置是石头,可以踩;否则为水流,不能踩。
输出描述
在一行上输出一个整数,表示最长的一步的最小值。
示例 1
输入
5
0 1 1 0 1
输出
2
说明
如下图所示,最长的一步至少为2,因为从左岸边跨越到最近的石头距离为2。
示例 2
输入
6
0 0 0 0 0 1
输出
6