1637. 两点之间不包含任何点的最宽垂直面积
示例1
输入:points = [[8,7],[9,9],[7,4],[9,7]]
输出:1
解释:红色区域和蓝色区域都是最优区域。
示例2
输入:points = [[3,1],[9,0],[1,0],[1,4],[5,3],[8,8]]
输出:3
思路
题意为:求所有顶点中,相邻两顶点横坐标的最大间隔。
只需针对其横坐标进行排序,求相邻元素最大差值。
代码
class Solution {
public int maxWidthOfVerticalArea(int[][] points) {
int[] nums = new int[points.length];
for (int i = 0; i < points.length; i++)
nums[i] = points[i][0];
Arrays.sort(nums);
int max = nums[1] - nums[0];
for (int i = 2; i < nums.length; i++)
if (nums[i] - nums[i-1] > max)
max = nums[i] - nums[i-1];
return max;
}
}