Как мне сгруппировать разные анаграммы из заданного массива строк? - PullRequest
0 голосов
/ 29 сентября 2019

У меня есть вопрос.Допустим, у меня есть около 10 различных типов строк, и мне нужно написать метод, в котором в зависимости от того, являются ли строки анаграммами, они группируются вместе.Какой лучший способ подойти к этому?2D массивы?

Очевидно, у меня есть другие методы, которые сравнивают строки и определяют, являются ли они анаграммами.Этот вопрос предназначен только для того, чтобы решить, как мне подойти к проблеме сортировки разных строк в разных группах.

Пример списка: -Dog -Bread -Africa -God -Dreab -dGO -Treat -dabre -trate -China

Группа 1: Собака, бог, dGO

Группа 2: Хлеб, Dreab, Dabre

Группа 3: Африка

Группа 4: Лечить, паста

Группа 5: Китай

1 Ответ

1 голос
/ 29 сентября 2019

Один из способов сделать это - создать Map<String,List<String>>.Все анаграммы одних и тех же букв сортируются по одному и тому же string.Так что эта строка будет вашим ключом к карте.Часть List будет являться фактической анаграммой.

, поэтому прыщи и тростник будут

acen => [прыщи, тростник]

Чтобы отсортировать анаграмму, вам нужно:разбить строку на буквы и затем использовать Arrays.sort или Collections.sort.Затем сложите буквы обратно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...