BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
String filename2 = buf.readLine();
// String filename2 = "D:\\1.txt";
ArrayList<String> fullArrayList = new ArrayList<>();
try (BufferedReader file = new BufferedReader(new FileReader(filename2))) {
String s;
while ((s = file.readLine())!=null){
fullArrayList.addAll(Arrays.asList(s.split(" ")));
}
}
// System.out.println(arrayList);
for (String s1 : fullArrayList
) {
StringBuilder s22 = new StringBuilder(s1);
s22.reverse();
String s2 = s22.toString();
if (fullArrayList.contains(s2)){
Pair p1 = new Pair(s1, s2);
Pair p2 = new Pair(s2, s1);
if (!result.contains(p1)&&!result.contains(p2)){
result.add(p1);
}
}
}
for (Pair s1 : result
) {
System.out.println(s1);
}
ezhilo85
29 уровень
Не принимает по 5-ому пункту. Ткните носом какие данные надо скормить чтобы увидеть ошибку. На тестовых данных всё норм
Архивный
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
jaroslav
4 февраля 2019, 12:25полезный
Перечитал Ваш код, и увидел вот такое: когда Вы уже нашли пару и добавили ее в "result" нужно удалить с fullArrayList этих два слова, чтоб при следуещей проверке они не проверялись. Я делал так. Возможно в этом и проблема.
И ищо, IceBerg прав, пары могут повторятся. У Вас же програма такого не позволяет, а дает возможность создать только одну пару.
+1
IceBergMaster
4 февраля 2019, 10:11решение
Пары в result могут повторяться, главное что-бы это были совсем другие пары в тексте по позиции, например у тебя в тексте есть "рот" по индексу "1" и "тор" по индексу "5", ты добавляешь эту пару, а дальше именно эти слова по индексам "1"/"5" больше не используешь в проверке, если же есть дальше "рот" по "10" и "тор" по "11", то такую пару тоже нужно добавлять в result.
У самого подгорело от этой задачи -_- что-бы уточнить моменты условия, полез в комментарии, а там люди пишут "пары могут повторяться" и тут поди пойми, что именно имеется в виду, либо "пары могут повторяться в тексте, и тебе нужно опасаться и избегать таких повторов в result" либо "пары могут повторяться в result".
В общем у меня при входящих данных
вывод так как тут две пары "тот" "(тот тот) (тот тот)". Валидатор принял. +3