首页 > 其他 > 详细

849. Maximize Distance to Closest Person ——weekly contest 87

时间:2018-06-11 01:44:41      阅读:293      评论:0      收藏:0      [点我收藏+]

849. Maximize Distance to Closest Person

题目链接:https://leetcode.com/problems/maximize-distance-to-closest-person/description/

思路:pre[i]存放i之前离最近的1的距离。post记录之后的。 res = max(min(pre[i],[post[i]))

注意点:初始nst需要设计极大或极小值。

 

 1 int maxDistToClosest(vector<int>& seats) {
 2         vector<int> pre,post;
 3         int n = seats.size();
 4         pre.assign(n,0);
 5         post.assign(n,0);
 6         int nst = -200000;
 7         for(int i = 0; i < n; i++){
 8             if(seats[i] == 1){
 9                 nst = i;
10             }else{
11                 pre[i] = i - nst;
12             }
13         }
14         nst = 200000;
15         for(int i = n - 1; i >= 0; i--){
16             if(seats[i]==1){
17                 nst = i;
18             }else{
19                 post[i] = nst - i;
20             }
21         }
22         int res = 0;
23         for(int i = 0; i<n; i++ ){
24             int temp = min(pre[i],post[i]);
25             res = max(res,temp);
26         }
27         return res;
28     }

 

849. Maximize Distance to Closest Person ——weekly contest 87

原文:https://www.cnblogs.com/jinjin-2018/p/9165164.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!