Leetcode 879 Solution

This article provides solution to leetcode question 879 (maximize-distance-to-closest-person)

https://leetcode.com/problems/maximize-distance-to-closest-person

Solution

class Solution { public: int maxDistToClosest(vector<int>& seats) { int first_one_pos = -1; int last_one_pos = -1; int max_gap = 0;
for (int i = 0; i < seats.size(); i++) { if (seats[i] == 1) { if (last_one_pos != -1) max_gap = max(i - last_one_pos - 1, max_gap);
if (first_one_pos == -1) first_one_pos = i; last_one_pos = i; } }
return max((max_gap - 1) / 2 + 1, max(first_one_pos, (int)seats.size() - last_one_pos - 1)); } };