请设计一个复杂度为O(n)的算法,计算一个未排序数组中排序后相邻元素的最大差值。
给定一个整数数组A和数组的大小n,请返回最大差值。保证数组元素个数大于等于2小于等于500。
测试样例:
[9,3,1,10],4
返回:6
# -*- coding:utf-8 -*- class MaxDivision: def findMaxDivision(self, A, n): # write code here if len(A)==2: return A[1]-A[0] else : A=sorted(A) s=-99999 for m in range(1,len(A)-1): s=max(s,A[m]-A[m-1],A[m+1]-A[m]) return s
class MaxDivision: def findMaxDivision( self,a, n): c=[] m=[] if len(a)<2 or len(a)>500: print ('无效') else: b=sorted(a) for i in range(len(b)): c.append(b[-len(b)+1+i]) c[-1]=b[-1] for i in range(len(b)): m.append(c[i]-b[i]) return max(m)