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

2025年- H109-Lc217--658. 找到 K 个最接近的元素(双指针+二分)--Java版

1.题目描述

在这里插入图片描述

2.思路

(1)排序好,联想到用二分
(2)用左右指针
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.代码实现

class Solution {public List<Integer> findClosestElements(int[] arr, int k, int x) {int n=arr.length;int left=0;int right=n-1;List<Integer> num=new ArrayList<>();//所有元素的个数要比要查找的个数k大while(right-left+1>k){//如果x左半部分的元素距离比x右半部分的距离小,我们选择跳过右半部分的元素if(Math.abs(arr[left]-x)<=Math.abs(arr[right]-x)){right--;}else//如果x左半部分的元素比x右半部分的值大,我们选择跳过左半部分的元素{left++;}}for(int i=left;i<=right;i++){num.add(arr[i]);}//return num.toArray();return num;}}
http://www.dtcms.com/a/364140.html

相关文章:

  • 当合规成为主旋律,PSP 如何推动链上消费市场迈向新蓝海?
  • 9月2日
  • Scikit-learn从入门到实践
  • Xcode 编译速度慢是什么原因?如何提高编译速度?
  • 英伟达Jetson Orin NX-YOLOv8n图像分类模型耗时分析
  • 《浪浪山小妖怪》知识竞赛来袭!测测你是几级影迷?
  • Java试题-选择题(29)
  • 天心:天下为公的君子之道
  • 多人协作修改文档时如何避免内容丢失
  • 【C++】迭代器详解与失效机制
  • Shell字符串操作技巧及if语句使用
  • Docker零基础入门指南
  • 中文分词器之结巴分词
  • 00 - 浏览器的基础认知
  • lesson52:CSS进阶指南:雪碧图与边框技术的创新应用
  • LLM 能不能发展为 AGI?
  • Shell 秘典(卷七)—— 流刃裁文秘术・sed 玄章精解
  • windows下wsl2 ubuntu开发配置
  • VMWare虚拟网络编辑器:“将主机虚拟适配器连接到此网络”含义
  • RHEL9源码编译MySQL8.0.40
  • 25.9.2_NSSCTF-[HNCTF 2022 WEEK2]TTTTTTTTTea_WP
  • Corrosion: 2靶场渗透
  • 数字化转型的终极关怀:以人为本
  • day3
  • 运作管理学习笔记4-产能规划
  • Flowable——配置使用Flowable-UI
  • 日语学习-日语知识点小记-构建基础-JLPT-N3阶段(24):文法+单词第8回1
  • STM32—SPI协议
  • vLLM推理框架:pagedAttention算法+pipeline介绍+源码逐行注释
  • 【技术详解】 OpenZeppelin ERC1155:Solidity 多代币标准实现原理(附完整 Solidity 源码)​