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
  • 至少有一个 空座位
  • 至少有一个 座位上有人
相关推荐
sheeta19988 小时前
LeetCode 每日一题笔记 日期:2026.06.02 题目:3635. 最早完成陆地和水上游乐设施的时间 II
笔记·算法·leetcode
Lsk_Smion8 小时前
力扣实训 _ [102].层序遍历--前序--后续_递归与非递归的实现
数据结构·算法·leetcode
小欣加油9 小时前
leetcode3751 范围内总波动值I
java·数据结构·c++·算法·leetcode
代码中介商10 小时前
C++左值与右值:核心判断法则详解
开发语言·c++
玖玥拾10 小时前
C/C++ 基础笔记(七)
c语言·c++
珊瑚里的鱼11 小时前
手撕单例模式中的饿汉模式和懒汉模式,懒汉模式还要再多加一个C++11版本的
开发语言·c++·单例模式
zh路西法11 小时前
【Linux 串口通信】基于 C++ 多线程的同步/异步串口实现
linux·运维·c++·python
不会C语言的男孩11 小时前
C++ Primer 第12章:动态内存
开发语言·c++
thisiszdy12 小时前
<C++> 浅拷贝与深拷贝
c++
2023自学中12 小时前
Linux虚拟机 CMakeLists.txt:x86 与 ARM 双架构编译脚本
linux·c语言·c++·嵌入式