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

珠海企业网站制作费用/制作一个网站的全过程

珠海企业网站制作费用,制作一个网站的全过程,企业建筑网站有哪些类型有哪些,品牌推广建议已知一个几乎有序的数组。几乎有序是指,如果把数组拍好顺序的话,每个元素移动的距离一定不超过k,并且k相对于数组长度来说是比较小的。 用堆来解决这个问题,首先贴上堆结构 package dataStruct;public class Heap {private int[…

已知一个几乎有序的数组。几乎有序是指,如果把数组拍好顺序的话,每个元素移动的距离一定不超过k,并且k相对于数组长度来说是比较小的。

用堆来解决这个问题,首先贴上堆结构

package dataStruct;public class Heap {private int[] arr;private int heapSize;public Heap(int n) {this.arr = new int[n];this.heapSize = 0;}public boolean isEmpty() {return heapSize == 0;}public boolean isFull() {return heapSize == arr.length;}private void swap(int a, int b) {int temp = arr[a];arr[a] = arr[b];arr[b] = temp;}public void add(int val) {if (isFull()) {throw new RuntimeException("heap is Full");}arr[heapSize] = val;heapIndex(heapSize++);}public Integer remove() {Integer ret = arr[0];swap(0, --heapSize);heapify(0);return ret;}/*** 向下看,看看能不能向下走* @param index*/private void heapify(int index) {int left = index * 2 + 1;while (left < heapSize) {int largest = left + 1 < heapSize && arr[left + 1] > arr[left] ? left + 1 : left;largest = arr[largest] > arr[index] ? largest : index;if (index == largest) {break;}swap(index, largest);index = largest;left = index * 2 + 1;}}/*** 向上看,能不能往上走* @param val*/private void heapIndex(int index) {while (arr[index] > arr[(index - 1) / 2]) {swap(index, (index - 1) / 2);index = (index - 1) / 2;}}public void heapSort(int[] arr) {for(int i = 0;i<arr.length;i++) {heapIndex(i);}int heapSize = arr.length;while(heapSize>0){swap(--heapSize,0);heapify(0);}}}

已知每个元素移动的距离一定不超过k,那么我建立一个长度为k+1的小根堆结构,如果将0-k的数放入堆中,那么排完序的数组0位置的数,就一定在我的堆中,因为移动的距离不超过k,那么我将堆中的堆顶元素取出,这个元素一定是排在排序完成后的数组的第一位,并且将数组的下位压入堆中,再次进行排序,覆盖掉堆顶,重新排序为堆结构,以此类推。代码如下:

	public void sortedArrDisrtanceLess(int[] arr, int k) {PriorityQueue<Integer> heap = new PriorityQueue<>();int index = 0;for (; index <= Math.min(k, arr.length-1); index++) {heap.add(index);}for (int i = 0; i < arr.length; i++) {arr[i] = heap.poll();if (index < arr.length) {heap.add(index++);}}}

http://www.jmfq.cn/news/4791043.html

相关文章:

  • 前端做网站需要的技能/第三方关键词优化排名
  • 如果做独立网站赚钱/南宁seo外包服务
  • 网站建设多少钱哪个济南兴田德润有活动吗/世界杯32强排名
  • 国际要闻军事新闻/搜索优化的培训免费咨询
  • 网站建设honmau/app开发网站
  • 门头沟营销型网站建设/郑州网络seo公司
  • 市政府网站开发实例/世界搜索引擎公司排名
  • 做外贸soho 需要有网站吗/网络营销的专业知识
  • 分类网站上怎么做锚文本/百度搜索引擎官网
  • 做的好的微信商城网站/电商关键词排名优化怎么做?
  • 深圳市珠宝网站建设/搭建网站步骤
  • 网站设计草图/俄罗斯搜索引擎yandex推广入口
  • 宿迁建站网/seo云优化公司
  • 民权做网站哪家好/做网站的软件有哪些
  • 用什么软件搭建网站源码/百度指数官网查询
  • 陕西建设厅执业注册中心网站/营销策划是做什么
  • 做电商设计在哪个网站接单/厦门关键词排名提升
  • 用自己的计算机做服务器建网站/百度免费优化
  • 交友网站的设计与实现/槐荫区网络营销seo
  • 北京企业网站设计公司/北京seo主管
  • 买外贸服装去哪个网站/广州网站优化平台
  • 中国城乡建设结合部网站/培训心得体会总结简短
  • 邢台网站招聘员工123/百度指数网址
  • 团购做的好的网站有哪些/哪个app可以找培训班
  • 建设银行网银网站无法访问/免费推客推广平台
  • html网站设计实验报告/seo裤子的关键词首页排名有哪些
  • 郑州建设网站有哪些/推广技术
  • 一家做运动鞋的网站/模板建站平台
  • 动漫网站建设毕业设计/网络推广员好做吗
  • 政府网站集约化建设培训讲话/济宁百度推广公司有几家