【题目描述】给定n个实数x1,x2,...,xn,求这n个实数在实轴上相邻2个数之间的最大差值,要求设计线性的时间算法
【题目来源】百度
【题目分析】
由于要求要线性时间,所以不能使用排序,于是使用了一种类似桶排序的变形
【算法】
距离平均值为offset =(arrayMax - arrayMin) / (n - 1), 则距离最大的数必然大于这个值。
每个桶只要记住桶中的最大值和最小值,依次比较上一个桶的最大值与下一个桶的最小值的差值,找最大的即可.
【参考资料】
http://topic.youkuaiyun.com/u/20101015/15/1eaab1a3-4432-4f17-be8b-1716fef3e59c.html
http://blog.youkuaiyun.com/livelylittlefish/archive/2008/03/23/2209537.aspx