C# 使用x和y坐标作为哈希表键?
我正在处理Leetcode问题,我遇到的一个常见场景是,我有一个可以使用的解决方案,但它需要一个哈希表,将密钥作为一对X和Y坐标。在谷歌上我找不到任何帮助,这让我相信如果我想这样使用它们,我做错了什么 这通常发生在图形问题或多维数组问题中 有没有人对我应该如何定期实施这一点有什么想法?或者我不该这么做的原因 我在这里使用的语言是C#,但我相信它适用于大多数语言C# 使用x和y坐标作为哈希表键?,c#,graph,hashmap,hashtable,C#,Graph,Hashmap,Hashtable,我正在处理Leetcode问题,我遇到的一个常见场景是,我有一个可以使用的解决方案,但它需要一个哈希表,将密钥作为一对X和Y坐标。在谷歌上我找不到任何帮助,这让我相信如果我想这样使用它们,我做错了什么 这通常发生在图形问题或多维数组问题中 有没有人对我应该如何定期实施这一点有什么想法?或者我不该这么做的原因 我在这里使用的语言是C#,但我相信它适用于大多数语言 非常感谢 您可以使用元组: var dict = new Dictionary<(int x, int y), string>
非常感谢 您可以使用
元组:
var dict = new Dictionary<(int x, int y), string>();
dict.Add((12, 34), "My Town");
x,y坐标散列是图上的一个正方形,角为1)x min,y min 2)x min y max 3)x max y min 4)x max y max。因此,通常情况下,has是x min,y min,并将值向下舍入到min。因此,如果有一个从(0,0)到(4,4)的图,并且希望散列大小为1 x 1,那么(0,0)的散列点将是x<1和y<1的所有点。您还可以将x/y值组合为字符串以生成键。只需确保填充您的值,以便始终有一个明确的固定长度键(“例如0104”)。
x * MAX + y