Ребят, помогите, пожалуйста, разобраться почему задача не проходит валидацию? Ну по идее, если нужно найти номер элемента, нарушающего порядок относительного отсортированного списка, то это элемент 0. Если нужно найти элемент, длина которого не больше длины предыдущего элемента, то это элемент 2.
package com.javarush.task.task07.task0718;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.*;
/*
Проверка на упорядоченность
*/
public class Solution {
public static void main(String[] args) throws IOException {
//напишите тут ваш код
ArrayList<String> strings = new ArrayList<>();
BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));
for (int i = 0; i < 10; i++) {
String s = bfr.readLine();
strings.add(s);
}
ArrayList<String> stringsSort = new ArrayList<String>(strings);
Collections.sort(stringsSort, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
if (o1.length() < o2.length())
return -1;
else { if (o1.length() > o2.length()) return 1;
else return 0;}
}
});
int len = strings.get(0).length();
for (int i = 1; i < 10; i++){
String s = strings.get(i);
if (s.length() >= len) continue;
else {printWrongEl(strings, stringsSort); break;}
}
}
public static void printWrongEl(ArrayList<String> array, ArrayList<String> arraySort)
{
for (int i = 0; i < 10; i++) {
if (array.get(i).equals(arraySort.get(i))) continue;
else {System.out.println(i+1); break;}
}
}
}