Написал метод который находит все анаграммы из списка переданных слов. В котором первым шагом - я просто фильтрую по длине слова, второй шаг это - фильтрация по чексумме которую я вычисляю просто суммирую все chars
, третий этап это уже точная проверка, в массиве (indexes) хранится количество каждой буквы подскажите что можно улучшить в этом алгоритме или может я вообще не тем путем иду и есть что то быстрее?
Для сравнения слова с одноразовым списком нет смысла разбивать на несколько стадий.
Отсортировать буквы слова word => dorw
Перебирать слова списка по порядку, смотреть длину, если совпадает - отсортировать буквы, сравнить с искомым словом.
Вот код:
String[] stringArray = {"weddw", "cew", "ghr", "kov", "wev"};
String initialWord = "wce";
char[] word = initialWord.toCharArray();
Arrays.sort(word);
char[] secondWord;
for (int i = 0; i < stringArray.length; i++)
if(initialWord.length() == stringArray[i].length()) {
secondWord = stringArray[i].toCharArray();
Arrays.sort(secondWord);
if(Arrays.equals(word, secondWord))
System.out.println(stringArray[i]);
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
У меня в базе данных хранятся числа в строковом формате: "2019-02-23T21:27:18461Z"
Вообщем создаю бота,есть куча функций ну и следовательно для каждой отдельный js файл,и чтобы запускать бота нужно прописывать каждый файл...