标签:
Given an unsorted array, find the maximum difference between the successive elements in its sorted form.
Try to solve it in linear time/space.
Return 0 if the array contains less than 2 elements.
You may assume all elements in the array are non-negative integers and fit in the 32-bit signed integer range.
解法1: 时间O(nlogn), 空间O(1). 排序在比较。
1 public class Solution { 2 public int maximumGap(int[] num) { 3 if(num == null || num.length < 2) return 0; 4 Arrays.sort(num); 5 int result = 0; 6 for(int i = 0; i < num.length - 1; i ++){ 7 result = Math.max(result, num[i + 1] - num[i]); 8 } 9 return result; 10 } 11 }
标签:
原文地址:http://www.cnblogs.com/reynold-lei/p/4229146.html