![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序
排序
I am jack
go ahead
展开
-
优先队列详解,你还不懂优先队列?
优先队列是一个常见的堆的应用,他是一种维护一组元素构成的集合S的数据结构。优先队列分为最大优先队列与最小优先队列,在优先队列中,每一个元素都有一个关键字(key),这个关键字可以用来判别优先队列中元素在所有元素中的优先级。这里我以最大优先队列来举例优先队列里面常见的操作: 1.INSERT(S,x):把元素x插入到集合S里面。 2.MAXIMUM(S):返回S里面关键字key最大的元素 3原创 2020-08-17 17:28:36 · 2817 阅读 · 0 评论 -
数配对问题
数配对 题目描述:设计一个算法,找出数组中两数之和为指定值的所有整数对。一个数只能属于一个数对。 示例 1: 输入: nums = [5,6,5], target = 11 输出: [[5,6]] 示例 2: 输入: nums = [5,6,5,6], target = 11 输出: [[5,6],[5,6]] 1.方案一:堆排+双指针(但是该方法会超时) import org.junit.Tes...原创 2020-04-21 11:13:30 · 308 阅读 · 0 评论 -
十大排序算法代码实现
各大排序算法代码实现 文章目录各大排序算法代码实现1.插入排序2.希尔排序(又称缩小增量排序)3.折半插入排序4.选择排序5.冒泡排序6.归并排序7.快速排序8.基数排序 声明:本教程直贴程序进行讲解 问题描述:给定一个数组,进行由小到大的排序 1.插入排序 //插入排序 int[] insert(int[] array) { int temp;//临时变量 ...原创 2020-04-15 18:03:52 · 178 阅读 · 0 评论 -
荷兰国旗问题
荷兰国旗问题 描述:数组中有0,1,2三种值,现在要求将所有0放在最左边,2放在最右边,1放中间 使用常数级的空间 public void sort(int[] nums) { //设置三个指针zero,current,two,其中zero指向的是0的最右边界,two指向的是2的最左边界,current是当前的位置 //算法分为三步走:如果curre...原创 2020-04-14 13:56:20 · 78 阅读 · 0 评论 -
合并区间
合并区间 合并: import java.util.*; public class Test1{ //合并区间 public int[][] merge(int[][] intervals) { int i=0; int j=0; int max; List<Integer> list = new Arra...原创 2020-04-13 20:27:48 · 88 阅读 · 0 评论