164 Maximum Gap
164. Maximum Gap
1. Question
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.
2. Implementation
(1) Sort
class Solution {
public int maximumGap(int[] nums) {
if (nums == null || nums.length < 2) {
return 0;
}
Arrays.sort(nums);
int res = 0;
for (int i = 0; i < nums.length - 1; i++) {
res = Math.max(res, nums[i + 1] - nums[i]);
}
return res;
}
}(2) Bucket Sort
3. Time & Space Complexity
Sort: 时间复杂度O(nlogn), 空间复杂度O(1)
Bucket Sort: 时间复杂度O(n), 空间复杂度O(n)
Last updated
Was this helpful?