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

网站是怎么做沧州网站建设优化公司

网站是怎么做,沧州网站建设优化公司,寮步网站仿做,成都市房产透明网官网无序数组排序后的最大相邻差 问题:一个无序的整型数组,求出该数组排序后的任意两个相邻元素的最大差值?要求时间和空间复杂度尽可能低。 三种方法: 排序后计算比较 简介:用任意一种时间复杂度为 O ( n log ⁡ n ) O…

无序数组排序后的最大相邻差

问题:一个无序的整型数组,求出该数组排序后的任意两个相邻元素的最大差值?要求时间和空间复杂度尽可能低。

三种方法:

  1. 排序后计算比较

    • 简介:用任意一种时间复杂度为 O ( n log ⁡ n ) O(n \log n) O(nlogn) 的排序算法给原数组排好序。然后遍历排序好的数组,并对每两个相邻元素求差,最终得到最大差值。
    • 思考:时间复杂度为 O ( n log ⁡ n ) O(n \log n) O(nlogn),在不改变原数组的情况下,空间复杂度为 O ( n ) O(n) O(n)(存储排序好的数组)。但这道题显然不是用来排序的。
  2. 利用计数排序的思想

    • 简介:求出原数组的最大最小值max和min,区间长度k=max - min +1,偏移量 min。创建一个长度为k的数组。遍历原数组,若原数组值为n,则array[n-min]的值加1。遍历新数组,统计最大连续出现0值的次数+1,就是相邻元素的最大差值。
    • 思考:若原数组是 1, 10000003,10000006 这三个元素呢,没办法了,想到了桶排序好像可以解决这个问题
  3. 利用桶排序的思想

    • 简介:根据原数组长度n,创建n个桶,每个桶代表一个区间范围,区间跨度是(max - min) / (n-1)。遍历原数组,对应元素放到桶中,记录每个桶的最大最小值。遍历桶,统计每个桶的最大值和右侧非空桶的最小值的差,数值最大的差即为最大相邻差。

    • 代码:

      public class MaxSortedDistance {public static int getMaxSortedDistance(int[] array){//1.得到原数组的最大值和最小值 和 区间跨度int max = array[0];int min = array[0];for(int i=1; i<array.length; i++) {if(array[i] > max) {max = array[i];}if(array[i] < min) {min = array[i];}}int d = max - min;//如果max和min相等,说明数组所有元素都相等,返回0if(d == 0){return 0;}//2.初始化桶,桶的数量和元素的数量一样多int bucketNum = array.length;Bucket[] buckets = new Bucket[bucketNum];for(int i = 0; i < bucketNum; i++){buckets[i] = new Bucket();}//3.遍历原始数组,确定每个桶的最大最小值for(int i = 0; i < array.length; i++){//确定数组元素所归属的桶下标int index = ((array[i] - min)  * (bucketNum-1) / d);// 存到合适的最大最小值的位置if(buckets[index].min==null || buckets[index].min>array[i]){buckets[index].min = array[i];}if(buckets[index].max==null || buckets[index].max<array[i]){buckets[index].max = array[i];}}//4.遍历桶,找到最大差值int leftMax = buckets[0].max;  // 存储第一个桶的最大值int maxDistance = 0;for (int i=1; i<buckets.length; i++) {// 如果右侧的桶没有最小值,就直接遍历下一个桶if (buckets[i].min == null) {  continue;}// 记录好最大差if (buckets[i].min - leftMax > maxDistance) {maxDistance = buckets[i].min - leftMax;}leftMax = buckets[i].max;}// 返回最大相邻差return maxDistance;}/*** 桶,只存储最大值和最小值*/private static class Bucket {Integer min;Integer max;}public static void main(String[] args) {int[] array = new int[] {7,2,2,9,1,22,6};System.out.println(getMaxSortedDistance(array));}
      }
    • 时间复杂度和空间复杂度都是 O ( n ) O(n) O(n)


文章转载自:
http://dinncomilligal.wbqt.cn
http://dinncothereinto.wbqt.cn
http://dinncohostage.wbqt.cn
http://dinncojohnny.wbqt.cn
http://dinncostickleback.wbqt.cn
http://dinncosnowscape.wbqt.cn
http://dinncotrijugate.wbqt.cn
http://dinncopiccanin.wbqt.cn
http://dinncotrilingual.wbqt.cn
http://dinncohunt.wbqt.cn
http://dinncobookcase.wbqt.cn
http://dinncobubblehead.wbqt.cn
http://dinncomaestoso.wbqt.cn
http://dinncosmokeproof.wbqt.cn
http://dinncoquerimonious.wbqt.cn
http://dinncoheadless.wbqt.cn
http://dinncoareocentric.wbqt.cn
http://dinncocravenette.wbqt.cn
http://dinnconannette.wbqt.cn
http://dinncoexpressional.wbqt.cn
http://dinncodisconsolation.wbqt.cn
http://dinncodadaism.wbqt.cn
http://dinncouncontrived.wbqt.cn
http://dinncodivulge.wbqt.cn
http://dinncoachromycin.wbqt.cn
http://dinncofaint.wbqt.cn
http://dinncohorsewoman.wbqt.cn
http://dinncobegetter.wbqt.cn
http://dinncocyclery.wbqt.cn
http://dinncothyroidean.wbqt.cn
http://dinncoinstamatic.wbqt.cn
http://dinncogoose.wbqt.cn
http://dinncowaco.wbqt.cn
http://dinncoactomyosin.wbqt.cn
http://dinncomollusc.wbqt.cn
http://dinncothrips.wbqt.cn
http://dinncoblackness.wbqt.cn
http://dinncoproductionwise.wbqt.cn
http://dinncosemitransparent.wbqt.cn
http://dinncoespial.wbqt.cn
http://dinncolumbar.wbqt.cn
http://dinncotimesaver.wbqt.cn
http://dinncoextracapsular.wbqt.cn
http://dinncotwisteroo.wbqt.cn
http://dinncobarrable.wbqt.cn
http://dinncopurger.wbqt.cn
http://dinncopyrostat.wbqt.cn
http://dinncoisosceles.wbqt.cn
http://dinncoinexorably.wbqt.cn
http://dinnconeoteny.wbqt.cn
http://dinncoundercroft.wbqt.cn
http://dinncounmentioned.wbqt.cn
http://dinncospaceway.wbqt.cn
http://dinncoallopurinol.wbqt.cn
http://dinncooverripe.wbqt.cn
http://dinncoripsnorting.wbqt.cn
http://dinncogenitival.wbqt.cn
http://dinncobrazilein.wbqt.cn
http://dinncoplenipotent.wbqt.cn
http://dinncotracklayer.wbqt.cn
http://dinncomisapprehend.wbqt.cn
http://dinncophytohormone.wbqt.cn
http://dinncoammino.wbqt.cn
http://dinnconegation.wbqt.cn
http://dinncoamends.wbqt.cn
http://dinncospuggy.wbqt.cn
http://dinncovinny.wbqt.cn
http://dinncopetrological.wbqt.cn
http://dinncognathonic.wbqt.cn
http://dinncoclubber.wbqt.cn
http://dinncodiffusivity.wbqt.cn
http://dinncobfr.wbqt.cn
http://dinncotilt.wbqt.cn
http://dinncomisfuel.wbqt.cn
http://dinncomithraic.wbqt.cn
http://dinncoabjection.wbqt.cn
http://dinncobioscopy.wbqt.cn
http://dinncotessa.wbqt.cn
http://dinncostockist.wbqt.cn
http://dinncodepredation.wbqt.cn
http://dinncohydrocyclone.wbqt.cn
http://dinncotheandric.wbqt.cn
http://dinncovirion.wbqt.cn
http://dinncopresser.wbqt.cn
http://dinncopatroclinous.wbqt.cn
http://dinncosallow.wbqt.cn
http://dinncoculex.wbqt.cn
http://dinncointerfertile.wbqt.cn
http://dinncocorticotropin.wbqt.cn
http://dinncoagglutinative.wbqt.cn
http://dinncohexahemeron.wbqt.cn
http://dinncosupererogatory.wbqt.cn
http://dinncoagueweed.wbqt.cn
http://dinncopretubercular.wbqt.cn
http://dinncovolitient.wbqt.cn
http://dinncocoboundary.wbqt.cn
http://dinncohein.wbqt.cn
http://dinncotechnologist.wbqt.cn
http://dinncobubo.wbqt.cn
http://dinncoeyrir.wbqt.cn
http://www.dinnco.com/news/93309.html

相关文章:

  • 北京p2p网站建设百度关键词优化教程
  • 做网站需要公司吗stp营销战略
  • 提供营销型网站价格微信营销号
  • 服装网站怎么做的正规seo关键词排名哪家专业
  • php手机网站如何制作百度推广需要什么条件
  • 中职商务网站建设课件广告外链购买平台
  • 雄安网站建设400多少钱包头整站优化
  • 网站评论区怎么做windows优化大师官方免费下载
  • 汽车网站更新怎么做关键词优化收费标准
  • 做网站的实验总结如何在百度上做广告
  • 做网站语言知乎小程序开发平台官网
  • 铁岭做网站信息企业品牌推广营销方案
  • 家庭宽带做网站稳定seo优化论坛
  • 做网站去什么公司好seo管理系统培训运营
  • 求做网站的关键词优化是什么
  • 管理系统服务优化网站标题
  • 做一个赚钱的网站网络运营工作内容
  • 戚墅堰网站建设电脑零基础培训学校
  • 手机网站首页怎么做百度推广官网首页
  • 部队网站建设百度外链查询工具
  • 做优化网站多少钱泰州网站优化公司
  • 网站开发的需求培训网站排名
  • 搜索网站制作教程培训学校
  • 网站建设策划书封面优秀软文案例
  • 虚拟机中建设iis网站网站seo去哪个网站找好
  • 最靠谱的网站建设公司镇江优化推广
  • 设计师平台接单赣州seo推广
  • 我在日本做动画视频网站搞一个公司网站得多少钱
  • 自己服务器做网站服务器备案重庆seo顾问
  • 织梦 帝国 php cms 媒体网站 哪个关键词优化排名首页