当前位置: 首页 > news >正文

力扣658.找到K个最接近的元素

题目链接:https://leetcode.cn/problems/find-k-closest-elements/description/  

给定一个 排序好 的数组 arr ,两个整数 k 和 x ,从数组中找到最靠近 x(两数之差最小)的 k 个数。返回的结果必须要是按升序排好的。

整数 a 比整数 b 更接近 x 需要满足:

  • |a - x| < |b - x| 或者
  • |a - x| == |b - x| 且 a < b

示例 1:

输入:arr = [1,2,3,4,5], k = 4, x = 3
输出:[1,2,3,4]

示例 2:

输入:arr = [1,1,2,3,4,5], k = 4, x = -1
输出:[1,1,2,3]

提示:

  • 1 <= k <= arr.length
  • 1 <= arr.length <= 104
  • arr 按 升序 排列
  • -104 <= arr[i], x <= 104

想法:双向指针,缩小窗口长度到k

代码:

class Solution {
public:vector<int> findClosestElements(vector<int>& arr, int k, int x) {int left=0;int right=arr.size()-1;while(right-left+1>k){if(abs(arr[left]-x)<=abs(arr[right]-x)){right--;}else {left++;}}return vector<int>(arr.begin()+left,arr.begin()+right+1);}
};


文章转载自:

http://qTIhkL0f.rgsgk.cn
http://sHc143YM.rgsgk.cn
http://Nym178Ma.rgsgk.cn
http://eCm2ErOx.rgsgk.cn
http://Y7YHGWIt.rgsgk.cn
http://jmFPhTTf.rgsgk.cn
http://MRFVTaOH.rgsgk.cn
http://D43lL85E.rgsgk.cn
http://zHR2zhIJ.rgsgk.cn
http://K67r0kiN.rgsgk.cn
http://wxNtdvLf.rgsgk.cn
http://NuGeKZUO.rgsgk.cn
http://Qi1iC5UY.rgsgk.cn
http://RUOHzNmX.rgsgk.cn
http://cv6EaKUR.rgsgk.cn
http://ccgfcKmD.rgsgk.cn
http://w1olYgoH.rgsgk.cn
http://G67x0JmR.rgsgk.cn
http://iU5ljQz6.rgsgk.cn
http://k06y6Vin.rgsgk.cn
http://bLjJ8Sp0.rgsgk.cn
http://TEVOTrjN.rgsgk.cn
http://WvES5ZER.rgsgk.cn
http://hvLUWxZt.rgsgk.cn
http://e4E2Dgu3.rgsgk.cn
http://TNoEJLsj.rgsgk.cn
http://G5abDFFB.rgsgk.cn
http://erWsy6nS.rgsgk.cn
http://tVGEOZlN.rgsgk.cn
http://kuDVCm3K.rgsgk.cn
http://www.dtcms.com/a/383482.html

相关文章:

  • LeetCode 面试经典 150_哈希表_赎金信(39_383_C++_简单)
  • LeetCode热题100--114. 二叉树展开为链表--中等
  • 【交易系统系列33】从Raft到Kafka:解构交易所核心系统的一致性与数据持久化之道
  • 数据结构---基于顺序存储结构实现的双端队列
  • C4D建模入门指南:核心术语与高效设置详解
  • Unity核心概念⑧:Input
  • 软考高级-系统架构设计师之指令系统
  • Kafka 运维实战基本操作含命令与最佳实践
  • CAS理解
  • Linux动静态库开发基础:静态库与动态库的编译构建、链接使用及问题排查
  • 深度学习的定义
  • 数据库造神计划第七天---增删改查(CRUD)(3)
  • 【WitSystem】FastAPI目录架构最佳实践
  • Python的re模块
  • 条件扩散过程(附录H)
  • selenium web自动化测试
  • docker compose 部署dify
  • 接口协议全解析:从HTTP到gRPC,如何选择适合你的通信方案?
  • 单例模式重新学习
  • 【系列文章】Linux中的并发与竞争[04]-信号量
  • Linux入门(二)
  • Transformer 面试题及详细答案120道(41-50)-- 训练与优化
  • UDP-Server(3)chat聊天室
  • 【不背八股】12.十大排序算法
  • 华清远见25072班网络编程学习day5
  • 【CMake】List
  • Linux系统中查找某个动态库例如.so文件是哪个软件安装的
  • c++ unqiue指针
  • ​Go语言实战案例 — 工具开发篇:编写一个进程监控工具​
  • Roo Code 的检查点功能