Mid/SeniorArray
Maximize Distance to Closest Person
You are given an array representing a row of seats where seats[i] = 1 represents a person sitting in the i^th seat, and seats[i] = 0 represents that the i^th seat is empty (0-indexed).
There is at least one empty seat, and at least one person sitting.
Alex wants to sit in the seat such that the distance between him and the closest person to him is maximized.
Return that maximum distance to the closest person.
Example 1
Input
seats = [1,0,0,0,1,0,1]Output
2If Alex sits in
seats[2], the closest person has distance 2, while any other open seat has closest distance 1.Example 2
Input
seats = [1,0,0,0]Output
3If Alex sits in the last seat, the closest person is 3 seats away, which is the maximum distance possible.
Constraints
- 2 <= seats.length <= 2 * 10^4
- seats[i] is 0 or 1.
- At least one seat is empty.
- At least one seat is occupied.