@VerdikTT

Как найти все одинаковые элементы в массиве?

Всем привет. Есть массив данных, необходимо найти одинаковые элементы. Есть ли на С# методы, реализующие поиск? Пока получилось только сравнение каждого файла с каждым, но нужна производительность выше. Если сделать через словарь, есть ли там методы для поиска, чтоб без двойного обхода ( foreach->for)? Главное: взять конкретный ключ, строку нельзя - в массиве просто набор байтов файла. Заранее спасибо
  • Вопрос задан
  • 317 просмотров
Пригласить эксперта
Ответы на вопрос 1
Griboks
@Griboks Куратор тега C#
1. Нет смысла в каждом обходе проверять уже проверенные пары и сам элемент.
2. Сначала сравните просто длину элементов.
3. Нет смысла полностью сравнивать элементы, проверяйте их по байтам.
4. Замените элементы их хешами, если они могут иметь одинаковое длинное начало (чтобы оптимизировать п. 3).
5. Не загружайте и не обрабатывайте данные повторно, если вы вдруг так делаете.
6. Используйте Parallel.forEach вместо обычного.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы