Как найти первый дубликат номер в массиве в C#?C#

Место общения программистов C#
Anonymous
Как найти первый дубликат номер в массиве в C#?

Сообщение Anonymous »

Я изучаю C# и пытаюсь решить проблему, когда мне нужно найти первый дубликат номера в массиве. Например, если массив составляет {1, 2, 3, 4, 2, 5} , ответ должен быть 2, потому что это первый номер, который появляется более одного раза.
Вот мой текущий подход:

Код: Выделить всё

int[] numbers = { 1, 2, 3, 4, 2, 5 };
int duplicate = -1;

for (int i = 0; i < numbers.Length; i++)
{
for (int j = i + 1; j < numbers.Length; j++)
{
if (numbers[i] == numbers[j])
{
duplicate = numbers[i];
break;
}
}
if (duplicate != -1) break;
}

Console.WriteLine(duplicate);
< /code>
Это работает, но он кажется медленным. Есть ли лучший способ решить эту проблему, особенно для больших массивов? Я слышал об использовании hashset 
, но я не уверен, как его реализовать.

Подробнее здесь: https://stackoverflow.com/questions/792 ... array-in-c

Вернуться в «C#»