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

广东省自然资源厅领导分工seo公司杭州

广东省自然资源厅领导分工,seo公司杭州,搜索引擎网址,襄阳高端网站建设658.找到K个最接近的元素 方法一:二分查找双指针 假设数组长度为n,数组arr已经按照升序排序,可以将数组arr分为两部分,前一部分所有元素[0,left]都小于x,后一部分[right,n-1]都大于等于x,left与right都可以…

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

image-20231112125748719

方法一:二分查找+双指针

  • 假设数组长度为n,数组arr已经按照升序排序,可以将数组arr分为两部分,前一部分所有元素[0,left]都小于x,后一部分[right,n-1]都大于等于x,left与right都可以通过二分查找获得
  • left和right指向的元素都是各自部分最接近x的元素,因此我们可以通过比较left和right指向的元素获取整体最接近x的元素,如果x-arr[left]≤arr[right]-x,则将left-1,否则将right+1,相应地,如果left或right已经越界,那么不考虑对应部分的元素
  • 最后,区间[left+1,right-1]的元素就是需要获得的结果
class Solution {public List<Integer> findClosestElements(int[] arr, int k, int x) {int right = binarrySearch(arr,x);int left = right - 1;while(k-->0){if(left < 0){right++;}else if(right >= arr.length){left--;}else if(x - arr[left] <= arr[right] -x){left--;}else{right++;}}List<Integer> ans = new ArrayList<>();for(int i = left+1;i<right;i++){ans.add(arr[i]);}return ans;}public int binarrySearch(int[] arr,int x){int low = 0,high = arr.length - 1;while(low < high){int mid = low + (high - low) / 2;if(arr[mid] >= x){high = mid;}else{low = mid + 1;}}return low;}
}

方法二:二分查找

class Solution {public List<Integer> findClosestElements(int[] arr, int k, int x) {int left = 0,right = arr.length -1;while(right - left + 1>k){if(Math.abs(arr[left] - x) > Math.abs(arr[right] - x)){left++;}else{right--;}}List<Integer> result = new ArrayList<>();for (int i = left; i <= right; i++) {result.add(arr[i]);  // 将选定范围内的元素添加到结果列表}return result;}
}
http://www.ds6.com.cn/news/94580.html

相关文章:

  • 网站交互方式百度网盘seo优化
  • 做类似返利网的网站有哪些网络建站工作室
  • 无锡锡山网站建设制作一个网站需要多少费用
  • 北京市城乡建设委员会门户网站关键词seo优化排名公司
  • 深圳网站建设智能小程序软文街官网
  • 做简历哪个网站比较好百度客服人工在线咨询
  • 网站的锚点链接怎么做免费网站生成器
  • 网站建设得缺点html网页制作代码
  • 网站建设金手指排名信誉推推蛙seo
  • 哪个网站做网销更好深圳外贸网络推广渠道
  • 电子商务网站建设与管理的实践报告西地那非片能延时多久每次吃多少
  • web网站设计分辨率竞价账户托管的公司有哪些
  • 找人做网站被骗 公安不管企业网站seo
  • 一个可以看qq空间的网站互联网销售包括哪些
  • 学做网站论坛会员账号百度seo优化教程
  • 在虚拟主机上建设多个网站运营推广怎么做
  • 语言可以做网站吗东莞网站设计排行榜
  • 帝国网站管理 上一条 下一条 链接 信息id 信息发布时间网络推广的调整和优化
  • 视频号怎么经营杭州网站优化咨询
  • 仙游网站建设网站优化公司开始上班了
  • 自己做网站用花钱吗百度推广做二级域名
  • 天津做不锈钢的网站人工智能培训师
  • 做网站编辑是不是也要做推广seo百度站长工具
  • 如何用阿里云做私服网站真实的优化排名
  • 最简单的网站模板南京seo排名公司
  • 编写appseo优化网络公司
  • 成都市分类信息网站开发seo顾问赚钱吗
  • 做鞋原料网站济南优化网络营销
  • 普通网站建设seo技术代理
  • wordpress djiango前端性能优化有哪些方法