☰
leetcode 849. Maximize Distance to Closest Person 到最近的人的最大距离-耗时100%
2026/10/13 16:18:01 网站建设 项目流程

Problem: 849. Maximize Distance to Closest Person 到最近的人的最大距离

解题过程

耗时100%,对每个==1的索引,根据pre的值,计算到两个人之间的最近距离的最大值,然后拿到最大值即可,起始和最后需要单独考虑

Code

class Solution { public: int maxDistToClosest(vector<int>& seats) { int n = seats.size(), pre = -100000, mx = INT_MIN; for(int i = 0; i < n; i++) { if(seats[i] == 1) { if(pre >= 0) { mx = max((i - pre)/2, mx); } else { mx = max(mx, i); } pre = i; } } if(seats[n-1]==0) { mx = max(mx, n - pre-1); } // vector<int> left(n, 0), right(n, 0); // for(int i = 0; i < seats.size(); i++) { // if(seats[i]==1) { // pre = i; // } else { // left[i] = abs(i - pre); // } // } // int mx =INT_MIN; // pre = 100000; // for(int i = seats.size() - 1; i >= 0; i--) { // if(seats[i]==1) { // pre = i; // } else { // mx = max(mx, min(abs(i - pre), left[i]) ); // } // } return mx; } };

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询