【发布时间】:2019-08-10 14:40:07
【问题描述】:
我想创建一对包含一些 int 值的列表,例如
(3,4) , (5,4) ,(5,1)....(n,n)
然后将每个目标与单个目标匹配
(1,1)
我需要将列表的每个值与目标 (1,1) 进行比较,以便它应该打印最接近的点 (1,1)
预期结果。
(3,4)
什么是最近的
最近的意思,假设我们有数字 4,5,6,7,8 并且我想找到最接近 12 的数字所以答案将是 8 因为它需要 4 才能达到 12 但 4+n 移动才能达到12 来自其他,所以与单个值不同,我有一对值 (n,n).... 并与 (n,n) 进行比较
我使用 2D 数组的尝试
positions = new int[3][,]
{
new int[,] { {3,4} },
new int[,]{ {5,4}},
new int[,] { {5,1} }
};
这给了我
3,4
5,4
5,1
现在我需要将每个值与 (1,1) 进行比较,但我不知道任何适当的数据结构可以通过它轻松存储我的列表并将每个值与 (1,1) 进行比较。
请帮忙
【问题讨论】:
-
什么是“将每个值与
(1,1)进行比较”?(5,1)是否仅匹配(1,1)? -
不,我只需要找到指向 1,1 的最小点,因此首先将 3,4 与 1,1 进行比较,然后将 3,4 设置为比与 5,4 相比最小的点,依此类推...所以最后最接近的点将是 3,4
-
“最近”是什么意思?你只比较第一个数字吗?
-
请查看问题,我已经更新了在这种情况下最近的定义
-
最近的不是 (5,1)?