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] 为 0 或 1
  • 至少有一个 空座位
  • 至少有一个 座位上有人
相关推荐
代钦塔拉3 分钟前
【C++/Qt 进阶】设计模式系列(4):原型模式——用“克隆“代替“重新构造“
c++·qt·设计模式
无忧.芙桃1 小时前
C++语言原理与实践(十三):stack、queue 和 priority_queue的介绍与使用
开发语言·c++·栈·队列
TDTC_XQ2 小时前
模板类的写法
linux·c++
alphaTao3 小时前
LeetCode 每日一题 2026/10/12-2026/10/18
算法·leetcode
CCCCCCCCharlie3 小时前
深入解析I/O底层:文件描述符与缓冲区真相
linux·开发语言·c++·算法
自信150413057593 小时前
重生之从0开始学习c++之string(下)
c++·学习·stl
Cccp.1233 小时前
【leetcode】(十三)大数据处理
数据结构·算法·leetcode
Pniubi3 小时前
力扣70爬楼梯
数据结构·算法·leetcode
wuminyu4 小时前
Continuation::freeze与thaw的x86_64汇编Stack Chunk拆解源码分析
java·linux·c语言·汇编·jvm·c++
kunicoding4 小时前
C++ 策略模式实战:写一个可以“一键换输出“的日志系统
开发语言·c++·策略模式