LeetCode - 1637 两点之间不包含任何点的最宽面积【排序】

1637. 两点之间不包含任何点的最宽垂直面积

 LeetCode - 1637 两点之间不包含任何点的最宽面积【排序】_第1张图片

示例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;
    }
}

运行结果

LeetCode - 1637 两点之间不包含任何点的最宽面积【排序】_第2张图片

你可能感兴趣的:(LeetCode)