所以我提出了这个问题,我最初写了这个返回一个新数组的答案,使用嵌套的 for 循环比较数组的元素,如果它们匹配则添加到新数组中。然后我被解释这是如何效率低下并且无法正常工作。我对算法或数据结构还不太了解,有人告诉我,哈希表或字典是存储匹配数据的更好方法。我正在尝试找出这种方法,并希望对此提供意见或帮助。谢谢!
我对字典不了解的一件事是……在我见过的几乎每个示例中,“键”通常是某个字符串值,然后该值是该字符串表示的数字值。在这种情况下,我只有两个数值,两个数组中的项目通过了。因为我只会在它们相同的情况下将其添加到字典中,所以我是否说 1 项是键,而另一项是值?我不确定。字典可以解释重复吗?
public Dictionary<int, int> twoArrays(int[] x, int[] y)
{
Dictionary<int, int> myDictionary = new Dictionary<int,int>();
foreach (var item in x)
{
foreach (var item1 in y)
{
if (item == item1)
{
myDictionary.Add(item, item1);
}
}
}
return myDictionary;
}
感谢您的任何帮助。我正在尽可能多地阅读此内容,但有时当我看到代码时,您的帮助/快速建议会更加清晰。