/*
Проверка на упорядоченность
*/
public class Solution {
public static void main(String[] args) throws IOException {
ArrayList<String> list = new ArrayList<>();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String s;
for(int i = 0; i < 10; i++) {
s = reader.readLine();
list.add(s);
}
for(int i = 0; i < list.size() - 1; i++){
if(list.get(i + 1).length() < list.get(i).length())
{
System.out.println(i+1);
break;
}
}
}
}
данный ввод :
qwe
qw
ewr
rrwqr
qwrds
dsg
wer
fr
re
ee
вывод:
1
Но по сути, как первый элемент может нарушать последовательность, если она начинается с него? Так же и происходит если последовательность будет нарушаться на последнем элементе(10 а вывод будет 9)Ян Раевский
32 уровень
Задача прошла проверку но условие не соблюдено.
Обсуждается
Комментарии (7)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
glukhoedov
18 сентября 2018, 17:11
Не подскажете почему в цикле " list.size() - 1 " используется? а не просто 10 ?
0
Ян Раевский Backend Developer в NEXI
18 января 2018, 19:39
Если "i+2" то работает как нужно. В итоге первый элемент не может быть нарушителем.
МБ я не понимаю правильно условие задачи, но если 10 строчек то порядок(и вывод) должен быть от первой(1) и до десятой(10)
0
--------Master
18 января 2018, 19:36
В твоем примере строка "qw" (элемент с "индексом" 1) короче строки "qwe" (индекс - 0), и в соответствии с условием задачи и твоим же кодом выдается индекс соответствующего элемента. А о последовательностях в задании ничего не сказано))
0
Ян Раевский Backend Developer в NEXI
18 января 2018, 19:43
Ну я так и понял (как и обычно в принципе) что проблема в условии.
4. Если список не упорядочен по возрастанию длины строки, то нужно вывести на экран порядковый номер первого элемента, нарушающего такую упорядоченность (нумерация начинается с 1).
В моем понимании нумерация начинается с 1 и до 10, так как элементы в Array начинаются с 0 и до 9.
0
--------Master
18 января 2018, 19:47
Если в списке 10 элементов, то вывод с 1 до 10 или с 0 до 9 в принципе невозможен - нарушение упорядоченности может начинаться только со второго элемента, у которого индекс - 1 ("номер" - 2). Элементы в списке нумеруются, начиная с 0, соответственно и минимальный порядковый номер равен 1, максимальный - 9
0
Ян Раевский Backend Developer в NEXI
18 января 2018, 20:27
Почитал в ветке про задачу, там действительно валидатор пропускает неправильное решение(то которое я и запостил сюда) и условие тоже уточнят!
0
Roman Pryshchepa Java Developer Expert
19 января 2018, 08:22
Условие правильное, неправильная рекомендация. Правильно:
4. Если список не упорядочен по возрастанию длины строки, то нужно вывести на экран индекс первого элемента, нарушающего такую упорядоченность.
0