G
N
I
D
A
O
L

给你 n 个二维平面上的点 points ,其中 points [i] = [xi, yi] ,请你返回两点之间内部不包含任何点的 最宽垂直区域 的宽度。

垂直区域 的定义是固定宽度,而 y 轴上无限延伸的一块区域(也就是高度为无穷大)。 最宽垂直区域 为宽度最大的一个垂直区域。

请注意,垂直区域 边上 的点 不在 区域内。

题目链接:https://leetcode.cn/problems/widest-vertical-area-between-two-points-containing-no-points/

# 解题思路

本题可以简化为求【横坐标的距离】,将 points 按横坐标进行升序排序,那么最大的垂直面积的宽度就是相邻两个横坐标差值的最大值

# 提交结果

image.png

# 代码

a
class Solution {
    public int maxWidthOfVerticalArea(int[][] points) {
        Arrays.sort(points, (a, b) -> a[0] - b[0]);
        
        int ret = 0;
        for (int i = 1; i < points.length; ++i) {
            ret = Math.max(points[i][0] - points[i-1][0], ret);
        }
        return ret;
    }
}
更新于 阅读次数

😉觉得写的还不错,请我喝杯咖啡吧😁

独步凌波 微信支付

微信支付

独步凌波 支付宝

支付宝