java - 如何在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}"
解决方案
用于java.awt.Point
OOP
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;
}
推荐阅读
- php - 来自 PHP simplexml_load_string() 的内存不足错误
- rest - Instana REST API,405 错误 - 如何修复?
- linux - 从 GitLab 中找到最近下载的 repo
- java - weblogic 12c 中的会话 ID 长度(字符)增加
- android - Firebase 字段名称会自动更改吗?
- java - 从父类对象调用子类方法的最佳实践
- jquery - 鼠标移出后无法隐藏div
- json - Bot Emulator 在 AdaptiveCards 中将“强调”显示为默认样式
- html - 有没有办法上传 html 文档并在 VueJs 中呈现它?
- c++ - 用非零值初始化 void 指针的正确(或最安全)方法?