https://leetcode.com/problems/maximize-distance-to-closest-person/description/
题目大意:0表示没有人,1表示有人,问现在选一个位置,问和相邻人的最大距离能是多少。
解题思路:遍历一遍,两个1的距离除以2,注意处理一下头尾的情况。
class Solution {
public int maxDistToClosest(int[] s) {
int n = s.length;
List<Integer> list = new LinkedList<>();
for(int i=0;i<n;i++)
{
if(s[i]==1)
{
list.add(i);
}
}
int m = list.size();
int pre = list.get(0),res=Math.max(list.get(0)-0,n-1 - list.get(m-1));
for(int i=1;i<m;i++)
{
res = Math.max(res,(list.get(i)-pre)/2 );
pre = list.get(i);
}
return res;
}
}