413周赛·第二题 - 3275. 第 K 近障碍物查询

题目链接 3275. 第 K 近障碍物查询
思路 大根堆
题解链接 最大堆维护前 k 小(Python/Java/C++/Go)
关键点 第k小元素”应转换为“大根堆”
时间复杂度 O(nlogk)
空间复杂度 O(n)

代码实现:

class Solution:
def resultsArray(self, queries: List[List[int]], k: int) -> List[int]:
answer = [-1] * len(queries)
h = []
for i, (x, y) in enumerate(queries):
heappush(h, -abs(x)-abs(y))
if len(h) > k:
heappop(h)
if len(h) == k:
answer[i] = -h[0]
return answer
posted @   WrRan  阅读(9)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效
点击右上角即可分享
微信分享提示