zoukankan      html  css  js  c++  java
  • 最大间隙问题

    问题描述:最大间隙问题:给定n个实数,求这n个数在实轴上相邻2个数之间的最大差值。设计解最大间隙问题的线性时间算法。

    算法分析:问题很简单,而且描述本身就暗示了一种自然的求解方法,即先对元素排序,然后逐个求相邻元素的间距。这种解法的复杂度为O(n*logn)。再想一下,设 min, max分别是数组中的最小和最大元素,len = (max-min)/n-1那么最大间距maxGap >= len。把a分成长度为len的区间,即[min, min+len), [min+len, min+2*len), ..., [max-len, max],最大间距一定是落在相邻的两个区间,或者不相邻但中间区间没有元素的两个区间,并且是在前一个区间的最大值和后一个区间的最小值之间产生。所以 只需找出每一个区间的最大值和最小值,然后扫描一遍就能求出最大间距。

  • 相关阅读:
    ajax
    cookie
    JavaScript基本语法
    HTML css 格式布局
    HTML 表单
    html 一般标签 常用标签 表格
    WinForm——操作word文档
    WinForm进程 线程
    音乐
    注册 传值
  • 原文地址:https://www.cnblogs.com/disneyland/p/4492383.html
Copyright © 2011-2022 走看看