SortArrayDistanceLessK
2024-05-04 02:41:17
[Question]
已知一个几乎有序的数组,几乎有序是指如果把数组排好序的话,每个元素移动的距离可以不超过K,并且K相对于数组来说比较小。
[Idea]
使用优先级队列结构 PriorityQueue length=K+1
首先将数组前"K+1"个数add进 PriorityQueue
其次循环 add 数组下一个数 并 poll up 数组第一个数
[Source code]
import java.util.PriorityQueue;public class code04_SortArrayDistanceLessK {public static void sortArrayDistanceLessK(int[] array, int k) {if (array == null || array.length < 2) {return;}PriorityQueue<Integer> heap = new PriorityQueue<>();int index = 0;for (; index < Math.min(array.length - 1, k); index++) {heap.add(array[index]);}int i = 0;for (; index < array.length; i++, index++) {heap.add(array[i]);array[i] = heap.poll();}while (!heap.isEmpty()) {array[i++] = heap.poll();}}
}
SortArrayDistanceLessK相关推荐
- 算法笔记-堆相关、堆的定义、大小根堆、算法程序实现、堆的算法题、C#写法
内容概述 1,堆结构就是用数组实现的完全二叉树结构 2,完全二叉树中如果每棵子树的最大值都在顶部就是大根堆 3,完全二叉树中如果每棵子树的最小值都在顶部就是小根堆 4,堆结构的heaplnsert与h ...
最新文章
- Sql Server系列:数据库操作
- 装机必备工具(普通家庭版)
- Xcode10 闪退问题
- 安全研究剖析:******方式演示
- 沈逸老师ubuntu速学笔记(2)-- ubuntu16.04下 apache2.4和php7结合编译安装,并安裝PDOmysql扩展...
- van-cell 取消点击_消息传来!转告父母:2021年起,取消60岁以上老年卡?
- 十二生肖配对表查询_天蝎座:分手后最容易复合的星座配对,一生分不开,最终重新走到一起...
- 《 Ray Tracing from the Ground Up》官方代码的潜在的纹理映射问题
- [导入]表单确认按钮——Javascript函数
- 作为一名管理者,如何做好上传下达工作呢?
- kali之iwconfig
- npm publish常见问题
- 显示前半内容后半内容用省略号_省略号前后的标点用法
- java 23种设计模式 04 单例模式
- 投稿指南【NO.7】目标检测论文写作模板(初稿)
- H5移动端网页自定义扫码
- 耳机接口规则_耳机接口种类与标准
- 计算机专业毕业自我鉴定800字,计算机专业毕业自我鉴定范文
- 【入行必修】 揭开 AI人工智能工程师 三大岗位 工作内容的 神秘面纱!
- 一个前端程序猿的Sublime Text3的自我修养
热门文章
- 【LaTeX排版】LaTeX论文模版
- 二叉树——中序遍历(递归/非递归)
- 1.4 裸机实验GPIO与LED DNW驱动无法安装问题解决
- 相机光学(七)——光源
- EditText的hint居中,设置EditText的hint位置
- 消费心理学(04):价格锚点
- FreeBbs论坛社区APP源码
- 文本编辑器的制作(C#)
- Linux磁盘挂载问题 ***is apparently in use by the system; will not make a filesystem here!
- 父亲节,来认识这些计算机领域的大佬们