Найти два повторяющихся числа в массиве - C#
Формулировка задачи:
1)У вас имеется массив, содержащий целые числа от 1 до 100, причем одно из них дублируется. Найдите индексы, указывающие на эти два числа.
2)у вас имеется набор чисел от 1 до 100, причем одно из них дублируется. Как определить это число?
Пожалуйста помогите,не знаю как это реализовать
Решение задачи: «Найти два повторяющихся числа в массиве»
textual
Листинг программы
using System;
class Program
{
public static void Main()
{
int[] arr = { 2, 16 ,3 ,37 ,66 ,5 ,66, 7, 55, 100, 11, 22, 8, 25 };
int?[] idx = new int?[101];
Tuple<int, int> t = null;
for (int i = 0; i < arr.Length; ++i)
{
if (idx[arr[i]].HasValue)
{
t = Tuple.Create(idx[arr[i]].Value, i);
break;
}
idx[arr[i]] = i;
}
Console.WriteLine(t == null ? "Нет такого числа" : $"{t} = {arr[t.Item1]}");
}
}