849. 到最近的人的最大距离bahttps://leetcode.cn/problems/maximize-distance-to-closest-person/
| 2023-8-22
0  |  阅读时长 0 分钟
Date
Aug 22, 2023
need_review
need_review
type
undo
undo
难度
中等
给你一个数组 seats 表示一排座位,其中 seats[i] = 1 代表有人坐在第 i 个座位上,seats[i] = 0 代表座位 i 上是空的(下标从 0 开始)。
至少有一个空座位,且至少有一人已经坐在座位上。
亚历克斯希望坐在一个能够使他与离他最近的人之间的距离达到最大化的座位上。
返回他到离他最近的人的最大距离。
示例 1:
notion image
示例 2:
示例 3:
提示:
  • 2 <= seats.length <= 2 * 10^4
  • seats[i] 为 0 或 1
  • 至少有一个 空座位
  • 至少有一个 座位上有人

解法1
社恐狂喜
找连续的0出现最多的切片的起始和结束的index, 返回(start+end)//2.
特殊情况, start是数组最左端, 返回max_end, end是数组最右端, 返回max_start
notion image
  • 简化一下
notion image
  • Giscus
目录