0

所以我提出了这个问题,我最初写了这个返回一个新数组的答案,使用嵌套的 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;
}

感谢您的任何帮助。我正在尽可能多地阅读此内容,但有时当我看到代码时,您的帮助/快速建议会更加清晰。

4

0 回答 0