2023-08-22力扣每日一题

链接:

849. 到最近的人的最大距离

题意:

找一个离人最远的位置

解:

每个位置都用左边的人和右边的人更新一遍距离即可

实际代码:

c++ 复制代码
#include<bits/stdc++.h>
using namespace std;
int maxDistToClosest(vector<int>& seats)
{
    int lg=seats.size();
    vector<int>distance(lg,INT_MAX);

    int near=-1;
    for(int i=0;i<lg;i++)
    {
        if(seats[i]) near=i;
        if(near!=-1) distance[i]=min(distance[i],i-near);
    }
    near=-1;int ans=-1;
    for(int i=lg-1;i>=0;i--)
    {
        if(seats[i]) near=i;
        if(near!=-1) distance[i]=min(distance[i],near-i);
        ans=max(ans,distance[i]);
    }
    return ans;
}
int main()
{
    return 0; 
}

限制:

  • 2 <= seats.length <= 2 * 104
  • seats[i]01
  • 至少有一个 空座位
  • 至少有一个 座位上有人
相关推荐
Swift社区8 小时前
LeetCode 432 - 全 O(1) 的数据结构
数据结构·算法·leetcode
资深web全栈开发9 小时前
LeetCode 1015. 可被 K 整除的最小整数 - 数学推导与鸽巢原理
算法·leetcode·职场和发展
leoufung9 小时前
链表题目讲解 —— 删除链表的倒数第 n 个节点(LeetCode 19)
数据结构·leetcode·链表
CoderYanger9 小时前
优选算法-队列+宽搜(BFS):72.二叉树的最大宽度
java·开发语言·算法·leetcode·职场和发展·宽度优先·1024程序员节
招摇的一半月亮9 小时前
P2242 公路维修问题
数据结构·c++·算法
f***019310 小时前
CC++链接数据库(MySQL)超级详细指南
c语言·数据库·c++
合方圆~小文10 小时前
球型摄像机作为现代监控系统的核心设备
java·数据库·c++·人工智能
椰萝Yerosius11 小时前
[题解]2024CCPC郑州站——Z-order Curve
c++·算法
滨HI014 小时前
C++ opencv简化轮廓
开发语言·c++·opencv