![]() |
1
28
您可以使用 breadth first search 为了这个。基本上,网格中的每个单元格都对应于图中的一个节点,相邻单元格之间有边。从起始位置开始,不断扩展可通过的单元格,直到找到目标单元格。
网格设置和结果:(请注意,我使用的是符号而不是数字,只是因为这样更容易直观地解析网格并验证解决方案。)
|
![]() |
2
3
如果列表不太大,我发现最简单的解决方案是使用 where NumPy库的函数,用于查找具有所需值的单元格。因此,您需要将列表转换为NumPy数组。 下面的代码可能会被简化,以使其更短、更高效,但通过这种方式,它会更清晰。顺便说一下,您可以计算两种距离:典型的欧几里德距离和 Manhattan . 如果在与原始单元格相同的距离处有多个目标单元格, 最小坐标 对应于找到的第一个单元格(先按行,然后按列)。
|
![]() |
July · 如何定义数字间隔,然后四舍五入 1 年前 |
![]() |
user026 · 如何根据特定窗口的平均值(行数)创建新列? 1 年前 |
|
Ashok Shrestha · 需要追踪特定的颜色线并获取坐标 1 年前 |
![]() |
Nicote Ool · 在FastApi和Vue3中获得422 1 年前 |
|
Abdulaziz · 如何对集合内的列表进行排序[重复] 1 年前 |
![]() |
asmgx · 为什么合并数据帧不能按照python中的预期方式工作 1 年前 |