Leetcode3275. 第 K 近障碍物查询

news2024/11/16 1:28:06

Every day a Leetcode

题目来源:3275. 第 K 近障碍物查询

解法1:大根堆

维护前 k 小元素,可以用最大堆。

遍历数组 queries,计算点 (x,y) 到原点的曼哈顿距离 d=∣x∣+∣y∣。

把 d 入堆,如果堆大小超过 k,就弹出堆顶(最大的元素)。

当堆的大小等于 k 时,堆顶就是第 k 小的距离。

代码:

/*
 * @lc app=leetcode.cn id=3275 lang=cpp
 *
 * [3275] 第 K 近障碍物查询
 */

// @lc code=start
class Solution
{
public:
    vector<int> resultsArray(vector<vector<int>> &queries, int k)
    {
        int n = queries.size();
        vector<int> ans(n, -1);
        priority_queue<int> pq; // 大根堆
        for (int i = 0; i < n; i++)
        {
            int dis = abs(queries[i][0]) + abs(queries[i][1]);
            pq.push(dis);
            if (pq.size() > k)
                pq.pop();
            if (pq.size() == k)
            {
                // 堆顶就是当前第 k 小的距离
                ans[i] = pq.top();
            }
        }
        return ans;
    }
};
// @lc code=end

结果:

在这里插入图片描述

复杂度分析:

时间复杂度:O(mlogk),其中 m 是数组 queries 的长度。单次插入的时间复杂度是O(logk)。

空间复杂度:O(k)。返回值不计入。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2133995.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OpenAI o1来是来了,但...

北京时间昨天凌晨&#xff0c;OpenAI正式发布了o1&#xff0c;这次来是来了&#xff0c;但...结合前一阵的思考和环境&#xff0c;说一下自己的感想吧&#xff1a; Ⅰ. 感觉OpenAI要有朝着Close一条道走到黑的趋势了..且看起来Close的很蹩脚(原因见下)&#xff0c;在这种Close下…

杂七杂八-部署框架

杂七杂八-部署框架 docker docker dockerhub&#xff1a;Docker发布/上传镜像到dockerhub&&下载/拉取镜像&&删除dockerhub镜像 仅个人笔记使用&#xff0c;感谢点赞关注 目前仅专注于 NLP 大模型 机器学习和前后端的技术学习和分享 感谢大家的关注与支持&…

ModuleNotFoundError: No module named ‘transformers_modules.chatglm2-6b

ModuleNotFoundError: No module named ‘transformers_modules.chatglm2-6b 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我是博主英杰&#xff0c;211科班出身&#xff0c;就职于医疗科技公司&#xff0c;热衷分享知识&#xff0c;武…

基于python+django+vue的农业管理系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【2025最新】基于pythondjangovueMySQL的农…

Linux 防火墙:iptables (二)

文章目录 SNAT 原理与应用SNAT 应用环境SNAT 原理SNAT 转换前提条件SNAT 格式SNAT 转换规则配置 DNAT 原理与应用DNAT 应用环境DNAT 原理DNAT 转换前提条件DNAT 格式DNAT 转换规则配置 iptables 规则的备份和还原导出&#xff08;备份&#xff09;所有表的规则导入&#xff08;…

精益思维如何在医疗电子领域实现持续创新?

随着科技的飞速发展&#xff0c;医疗电子设备不仅要求更高的技术精度和稳定性&#xff0c;还需满足日益增长的个性化需求&#xff0c;而精益思维正是实现这一目标的有效途径。 精益思维起源于制造业&#xff0c;强调以最小的资源投入获得最大的运营效益。在医疗电子领域&#x…

口腔助手系统小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;医生管理&#xff0c;预约信息管理&#xff0c;口腔历史管理&#xff0c;用户反馈管理&#xff0c;在线问诊管理&#xff0c;系统管理 微信端账号功能包括&#xff1a;系统首页&a…

堆叠沙漏网络(stacked hourglass network)学习

定义 Stacked Hourglass Networks是2016年密歇根大学提出的经典网络架构。是曾经最具代表性的姿态识别SOTA之一。 hourglass network hourglass network 本身其实可以理解成是一个encoder-decoder的结构&#xff0c;encoder最大程度的提取图像在每一个scale的特征以及空间信…

系统架构设计师 - 项目管理

项目管理 项目管理&#xff08;1-3分&#xff0c;案例分析 25分&#xff09;立项管理 ★盈亏平衡分析 范围管理 ★★时间管理 ★★★★概述前导图法 PDM(单代号网络图)箭线图法 ADM(双代号网络图) 了解关键路径法总时差自由时差 甘特图 成本管理 ★挣值管理概述指数计算 软件质…

卷积神经网络经典模型架构简介

【图书推荐】《PyTorch深度学习与企业级项目实战》-CSDN博客 《PyTorch深度学习与企业级项目实战&#xff08;人工智能技术丛书&#xff09;》(宋立桓&#xff0c;宋立林)【摘要 书评 试读】- 京东图书 (jd.com) ImageNet是一个包含超过1 500万幅手工标记的高分辨率图像的数据…

windows C++-并行编程-并行算法(四)- 并行排序

并行模式库 (PPL) 提供了对数据集合并行地执行工作的算法。这些算法类似于 C 标准库提供的算法。并行算法由并发运行时中的现有功能组成。 PPL 提供三种排序算法&#xff1a;concurrency::parallel_sort、concurrency::parallel_buffered_sort 和 concurrency::parallel_radix…

量化投资策略_因子打分选股的案例实现

一&#xff1a;因子打分选股的介绍 因子打分选股是一种量化投资策略&#xff0c;它通过选取多个与股票收益率相关的因子&#xff0c;对股票进行综合评分&#xff0c;然后根据评分来选择股票构建投资组合。以下是构建多因子打分选股模型的一般步骤&#xff1a; 数据预处理&…

Gitlab备份、迁移、恢复和升级(Gitlab Backup, migration, recovery, and upgrade)

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:Linux运维老纪的首页…

2020-10-22 1-N间整数转二进制记其0个数

缘由c语言对于给定的十进制整数N&#xff08;N<10000),将1到N&#xff08;含N&#xff09;之间的每个整数转成二进制……&#xff08;遇到一个题&#xff0c;我写了一段代码&#xff0c;但怎么也编译不出来&#xff0c;不知道哪里错了&#xff0c;萌新求大神指教&#xff01…

MATLAB移动目标检测与追踪系统

MATLAB移动目标检测与追踪系统 项目描述 本项目旨在开发一个基于MATLAB的移动目标检测与追踪系统&#xff0c;该系统利用相邻帧间差分法、背景差分法以及光流法来检测视频中的移动目标&#xff0c;并能够对这些目标进行追踪。系统无需安装额外的工具包&#xff0c;可以直接在…

网络的一些基本概念

目录 ♫网络发展历程 ♪独立模式 ♪网络互连 ♪局域网 ♪广域网 ♫网络通讯的基础 ♫IP地址 ♪什么是IP地址 ♪IP地址的格式 特殊的 IP 地址&#xff1a; ♫端口号 ♪什么是端口号 ♪端口号的格式 ♪特殊的端口号 ♫网络协议 ♫五元组 ♫协议分层 ♫OSI七层模型 ♫TCP/I…

Xcode报错:Return from initializer without initializing all stored properties

Xcode报错&#xff1a;Return from initializer without initializing all stored properties,self used before all stored properties are initialized 我们自定义 init 方法&#xff0c;在 init 中直接赋值 Binding 会失败,但是直接赋值给Binding类型的变量却正常&#xff…

uniapp tabBar不显示

开发中发现某个页面不显示tabbar,而有的页面显示 需要在tabBar配置中添加需要展示的页面 刚开始我发现登录页面不展示tabbar,把登录页面的路径配置进去就会展示了

【Linux】自主shell

学习了进程的相关知识后&#xff0c;我们可以试着实践一下&#xff0c;编写一个简单的 shell。我们的目的并不是完美还原一个 shell&#xff0c;而是通过编写 shell 的过程&#xff0c;更好地理解 shell 的工作方式 自主shell 输出命令行获取用户输入的命令分割命令行字符串执…

ROS2 Humble如何初步使用Livox-mid-360激光雷达 (viewer/rviz)以及解决一些问题

Livox-mid-360激光雷达 1、设置静态ip 首先在Ubuntu22.04下将本机IP地址置于和雷达IP同一局域网下 不用改wifi的ip&#xff0c;改以太网的ip sudo ifconfig //查看你的以太网有线 sudo ifconfig sudo ifconfig enx207bd2b27267 192.168.1.50//将enx207…