寻找数组中第一个重复元素的C#算法实现
在实际开发中,我们经常需要从数组中快速找到重复的元素。本文将介绍一种基于哈希表的C#算法实现,可以快速地找到数组中的第一个重复元素。
首先,我们定义一个函数来查找数组中的第一个重复元素。该函数接受一个整数数组作为参数,并返回数组中的第一个重复元素(如果存在)。如果数组中没有重复元素,则返回-1。
public static int FindFirstDuplicate(int[] arr)
{
// 定义哈希表
var hash = new HashSet<int>();
// 遍历数组
foreach (var item in arr)
{
// 如果哈希表中已经包含该元素,说明找到了重复元素
if (hash.Contains(item))
{
return item;
}
// 否则将元素加入哈希表
else
{
hash.Add(item);
}
}
// 如果数组中没有重复元素,则返回-1
return -1;
}
在上面的代码中,我们创建了一个哈希表hash
来存储数组中的元素。然后我们遍历数组,对于每个元素,我们检查哈希表中是否已经包含该元素。如果已经包含,则