首页 > 解决方案 > 如何在java中的坐标数组中找到左上角坐标

问题描述

我通过互联网搜索了所有内容,找不到现成的 java(或者它可以是任何编程语言)函数的实现(源代码),对于给定的 [x,y] 坐标对数组返回左上角坐标对。

期望的行为:

String s = getUpperLeftCoordinate([{-4455 , 3814}, {-1633 , 434}, {-1633 , 434}, {-3271 , -3687}, {-4636 , -957}, {-4636 , -957}, {1505 , -4154}, {1505 , -4154}, {1505 , -4154}]);

将返回:

s="{-4455 , 3814}"

在此处输入图像描述

标签: javaalgorithmcoordinates

解决方案


用于java.awt.PointOOP

Point getUpperLeftCoordinate(Point... points) {
    Point mostUpperLeft = null;
    for (Point point : points) {
        if (mostUpperLeft == null) {
            mostUpperLeft = point;
        } else {
            double diffX = mostUpperLeft.getX() - point.getX();
            double diffY = point.getY() - mostUpperLeft.getY();
            if (diffX + diffY > 0) {
                mostUpperLeft = point;
            }
        }
    }
    return mostUpperLeft;
}

推荐阅读