使用 x 和 y 坐标作为哈希表键?
Using x and y coordinates as a Hashtable key?
我正在解决 Leetcode 问题,我 运行 遇到的一个常见场景是我有一个可以使用的解决方案,但它需要一个哈希表来将密钥作为一对 X 和 Y 坐标。在谷歌搜索中,我无法找到任何帮助,这让我相信如果我想以这种方式使用它们,我做错了什么。
这通常出现在图形问题或多维数组问题中。
有没有人对我应该如何定期实施这个有任何想法?或者我应该这样做的任何原因?
我为此使用的语言是 C#,但我确信它适用于大多数语言。
非常感谢!
您可以使用 Tuple
:
var dict = new Dictionary<(int x, int y), string>();
dict.Add((12, 34), "My Town");
见related answer。
假设坐标总是小于MAX
,你可以计算一个组合键
x * MAX + y
我正在解决 Leetcode 问题,我 运行 遇到的一个常见场景是我有一个可以使用的解决方案,但它需要一个哈希表来将密钥作为一对 X 和 Y 坐标。在谷歌搜索中,我无法找到任何帮助,这让我相信如果我想以这种方式使用它们,我做错了什么。
这通常出现在图形问题或多维数组问题中。
有没有人对我应该如何定期实施这个有任何想法?或者我应该这样做的任何原因?
我为此使用的语言是 C#,但我确信它适用于大多数语言。
非常感谢!
您可以使用 Tuple
:
var dict = new Dictionary<(int x, int y), string>();
dict.Add((12, 34), "My Town");
见related answer。
假设坐标总是小于MAX
,你可以计算一个组合键
x * MAX + y