Реализация поиска анаграмм - C#

Узнай цену своей работы

Формулировка задачи:

Есть файл со словами, нужно найти максимальное количество анаграмм, то есть слов которые состоят из одних и тех же символов. Я думал сделать так: загнать все слова в массив типа string, отсортировать все символы каждого слова по алфавиту и искать одинаковые. Вопросы: Можно сортировать все слова в масиве по алфавиту? Можно ли это сделать стандартными средствами? Или лучше использовать какой-то другой подход?

Решение задачи: «Реализация поиска анаграмм»

textual
Листинг программы
static bool isAnagram(string word1, string word2)
        {
            if (word1.Length != word2.Length)
            {
                return false;
            }
            else
            {
                for (int i = 0; i < word2.Length; i++)
                {
                    int indexOfCommonLetter = word1.IndexOf(word2[i]);
                    if (indexOfCommonLetter != -1) //it means that there's no common letters
                    {
                        word1 = word1.Remove(indexOfCommonLetter, 1);
                    }
                    else
                    {
                        return false;
                    }
                }
                return true; //if program comes so far - there's only common letters
            }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4 из 5