我有点迷失了使用哪种数据结构来有效地解决我的问题。我想将一个数组映射到一个值。我的意思是,如果我有 1000 个值,我需要能够将多个其他值映射到 1000 个值中的每一个。
例如,
我有 1-1000 的 1000 A 值。对于每个值 A,我想映射 k 个其他值 B(这些范围也在 1-1000 之间)。但我确实想确保映射到 A 的任何值都不是重复的。不同A值之间的映射值可以相同(即2和1000都有67映射到它们)。
1 -> 138, 92, 835, 841, 12
2 -> 766, 324, 26, 933, 62
3 -> 53, 131, 62, 121, 67
4->160, 160 #NOT OK
4-> 162, 171, 594, 912, 455
...
1000->146, 981, 67, 246, 146
因此,当我查看某个任意值 A 时,我应该能够轻松识别映射到它的任何值。因此,如果我想访问值 3,我应该能够打印出值 A (3) 及其相关值(53、131、62、121、67)。
我希望这是有道理的。实现这种数据结构的最佳方法是什么?任何解释或示例的帮助将不胜感激。