java - 为矩阵的每个深度级别返回哈希

标签 java ruby algorithm matrix

我正在开发一种算法,用户可以在其中传递一个中心 geohash 和一个 depth_value 并获得一个哈希值,该哈希值将每个深度映射到一个数组那个深度的geohashes。

例如,看看这个:

+--------+--------+--------+ | xn774d | xn774f | xn7754 | +--------+--------+--------+ | xn7749 | xn774c | xn7751 | +--------+--------+--------+ | xn7748 | xn774b | xn7750 | +--------+--------+--------+

如果用户传入 center_geohash:xn774c 和 depth 为 1。它将返回

{depth_0: [xn774c], depth_1: [xn774d, xn774f, xn7754, xn7751, xn7750, xn774b, xn7748, xn7749] (如果传入的深度为 2,它将返回一个包含 16 个 geohash 的数组)

我已经开发的工具:

当您传入最右上角的 geohash 和最左下角的 geohash 时,我可以访问返回二维矩阵的方法。 neighbors 方法也可用,它返回给定 geohash 周围的 8 个 geohash,以及一个接受 geohash 和方向并返回该方向的单个 geohash 的相邻方法。

非常感谢

最佳答案

我最终做的是创建一个 NxN 矩阵,然后以螺旋顺序遍历它。假设我以顺时针方式遍历矩阵,那么在我从左 -> 到 -> 右移动的每个点,都意味着我处于新的深度值。然后,我将通过附加地理哈希来为新的 depth_value_key 填充我的哈希,直到下次我再次从左向右移动时。希望对您有所帮助!

关于java - 为矩阵的每个深度级别返回哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48672715/

相关文章:

java - 为什么选择 31 在 hashcode() 实现中进行乘法运算?

java - 以创建时的相同顺序从 ssh 命令记录 stdout 和 stderr

ruby - 类型错误 : wrong argument type with Ruby &~ operator

java - 从服务器下载文件时显示进度条

ruby - 稍后定义的类的模块实例方法

ruby - 使用自定义环境运行命令行

algorithm - 为塔防游戏生成路径点

php - 如何生成受限替换的排列?

java - 如何使用 JAXB 输出对象集合?

java - java 按升序对矩阵的列进行排序