Как найти первый дубликат номер в массиве в 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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