@sergeevpetro
Junior Developer

Как сделать поиск по множеству?

Здравствуйте!
Туплю походу, но что-то не могу сообразить можно ли без явных циклов решить следующую задачу:
Есть массив корней мужских имен/отчеств: Геннад, Иль, Владислав, Григор и т.д.

Как проверить, есть ли в слове "Геннадий" совпадение из этого массива?
  • Вопрос задан
  • 255 просмотров
Решения вопроса 1
@akass
Developer
string test = "Геннадий";
bool result = Roots.Any(x=> test.Contains(x));
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
GavriKos
@GavriKos
Без циклов? Даже без неявных (Contains содержит цикл)? ИМХО нет.
Ответ написан
Без циклов - это значит библиотечными средствами?
stackoverflow.com/a/10366607
Алгоритмы: Ахо-Корасик, КМП.
Ответ написан
Комментировать
Думаю под циклом имеется ввиду проход по всем элементам.
А если разбить данные так что этого не придется делать (дерево), то ответ - можно.
Вроде - первая буква 'Г' - да/нет, это уже убирает 32 буквы и все что под ними, т.е. уже не цикл.

И Множества.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы