数组
奶昔爆米花
道阻且长 行则将至
展开
-
归并排序-特殊数组排序
归并排序 - 特殊数组题目题解代码时间复杂度 题目 已知一个几乎有序的数组,几乎有序指的是:如果把数组排好序的话,每个元素移动的距离一定不超过k,并且k相对于数组长度来说是比较小的 请选择一个合适的排序策略,对这个数组进行排序 题解 用小根堆+归并排序完成 1.因为排好序后每个元素移动的距离不超过k,那么最小值一定在0~k范围上 2.将数组0~k位置的值放到小根堆上,这样堆顶元素一定是数组的最小值 3.将堆顶元素与数组0位置交换 4.将小根堆的左右边界+1,即下一步的数组范围是1-k+1 5.继续将当前小根原创 2021-07-26 11:09:10 · 215 阅读 · 0 评论 -
数组实现栈&队列
数组实现栈和队列数组实现栈基本思想代码环形数组实现队列基本思想代码 数组实现栈 基本思想 用一个指针(index)维护入栈位置及出栈位置 入栈时,index++ 出栈时,–index即可 代码 public class ArrayStack { public static class MyStack{ private int[] array; private int index; public MyStack(int length){原创 2021-07-14 10:47:27 · 88 阅读 · 0 评论