题目链接
解题思路
-
年轻人不讲码德,面试官让你回去等消息
-
题目要求是O(n),我的是快速排序O(nlogn)
-
首先是直接调用java中的数组排序方法
-
然后比较,找出相邻元素的最大差值
AC代码
class Solution {
public int maximumGap(int[] nums) {
int len = nums.length;
if (len < 2)
return 0;
Arrays.sort(nums);
int ans = nums[1] - nums[0];
for (int i = 1; i < len; i++) {
ans = Math.max(ans, (nums[i] - nums[i - 1]));
}
return ans;
}
}
本地测试代码
package com.company;
import java.util.Arrays;
public class Solution_164 {
public static int maximumGap(int[] nums) {
int len = nums.length;
if (len < 2)
return 0;
Arrays.sort(nums);
int ans = nums[1] - nums[0];
for (int i = 1; i < len; i++) {
ans = Math.max(ans, (nums[i] - nums[i - 1]));
}
return ans;
}
public static void main(String[] args) {
System.out.println(maximumGap(new int[]{3, 6, 9, 1}));
System.out.println(maximumGap(new int[]{10}));
}
}