java - 多重 map 中最近距离的两次

标签 java arrays logic

您好,我需要找到距另一个点最近的点。
我首先检查一个点(我称之为 x )和另一个点的距离是否接近。
然后我将其存储在 multimap(Int,int) 选项卡中,以名为 x 的点作为键,并将名为 x 的点的最近点作为广告值。
问题是我有两次相同的数据,因为如果 x 接近 y,y 也接近 x。
我有一张这样的 list : [[25:{26,27}],[26:{25,27}],[27:{25}]]
我尝试将这些值与键进行比较,并尝试在一个键等于另一个键的值时删除它们。 谁能帮我找到逻辑吗?

最佳答案

我会尝试创建一个二维数组来检查一对是否已被访问。例如,

int[][] visited = new int[x][y];//a pair (x , y)
 for(int i = 0; i < x; i++){
     for(int j = 0; j < y; j++){
         if(!visited[x][y] && !visited[y][x]){
            //check if (x, y) or (y, x) is already visited
            //if the pair is not visited yet, do what you want for the pair.
            visited[x][y] = true;
            visited[y][x] = true;
         }
 }

关于java - 多重 map 中最近距离的两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50375018/

相关文章:

php - 计算综合评分

c - 卡尔曼滤波器实现 - 可能有什么问题

java - 使用 slf4j 和 log4j 进行 Hibernate 日志记录不生成日志文件

Javascript 多个 IMG 数组

php - Silverstripe - 检索数组中的 POST 数组

Java 正在自行对我的 double 组进行排序。为什么?

c++ - 子类或句柄逻辑哪个更好?

java - 在 Android 上以编程方式编辑 build.prop 的属性

java - 类似 iPhone 的 JTable

java - 使用第三方 websocket 插件的 JMETER 2.9 中的未捕获异常 java.lang.ExceptionInInitializerError