Вероятно есть проблема в валидаторе при проверке требования: "Если список не упорядочен по возрастанию длины строки, то нужно вывести на экран индекс первого элемента, нарушающего такую упорядоченность.". Для входящих данных:
сын
дочь
коты
собака
программа
дедушка
бабушка
абракадабра
аааабббб
еще раз в
результат должен быть 4, т.к. индекс начинается с 0. Но валидатор принимает результат 5 как правильный, будто считает начиная с 1. Вот мой код, который принял валидатор. В строке №36 на вывод передаю i+1, т.к. просто i не принимает, хотя вроде как должно.
package com.javarush.task.task07.task0718;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.lang.reflect.Array;
import java.util.ArrayList;
/*
Проверка на упорядоченность
*/
public class Solution {
public static void main(String[] args) throws IOException {
ArrayList<String> strs = new ArrayList<String>();
ArrayList<Integer> ints1 = new ArrayList<Integer>();
ArrayList<Integer> ints2 = new ArrayList<Integer>();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
for (int i = 0; i < 10; i++) {
strs.add(reader.readLine());
ints1.add(strs.get(i).length());
ints2.add(strs.get(i).length());
}
int tmp = 0;
for (int i = 0; i < ints2.size(); i++)
for (int j = 0; j < ints2.size()-1; j++)
if (ints2.get(j) > ints2.get(j+1)) {
tmp = ints2.get(j);
ints2.set(j, ints2.get(j+1));
ints2.set(j+1, tmp);
}
for (int i = 0; i < ints1.size(); i++)
if (ints1.get(i) != ints2.get(i)) {
System.out.println(i+1);
break;
}
}
}