Всем привет!
Решил вроде бы правильно, но валидатор не пропускает второе условие, хотя оно эквивалентно первому, отличие лишь в знаке.
package com.javarush.task.task07.task0712;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
/*
Самые-самые
*/
public class Solution {
public static void main(String[] args) throws Exception {
//напишите тут ваш код
ArrayList<String> list = new ArrayList<String>();
//if we have more than one index
ArrayList<Integer> maxIndex = new ArrayList<Integer>();
ArrayList<Integer> minIndex = new ArrayList<Integer>();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
for (int i = 0; i < 10; i++) {
list.add(reader.readLine());
}
int max = list.get(0).length();
int min = list.get(1).length();
//if index is only one
int maxI = 0, minI = 1;
//if indexes > 1 flag is true
boolean isExist = false;
for (int i = 0; i < 10; i++) {
if (list.get(i).length() > max)
{
max = list.get(i).length();
maxI = i;
}
if (list.get(i).length() < min)
{
min = list.get(i).length();
minI = i;
}
}
for (int i = 0; i < 10; i++) {
if (list.get(i).length() == max && i < minI && i != maxI)
{
isExist = true;
max = list.get(i).length();
maxIndex.add(i);
}
if (list.get(i).length() == min && i < maxI && i != minI)
{
isExist = true;
min = list.get(i).length();
minIndex.add(i);
}
}
if (maxI > minI)
{
System.out.println(list.get(minI));
if (isExist == true)
for (int i = 0; i < minIndex.size(); i++) {
System.out.println(list.get(minIndex.get(i)));
}
}
else if (maxI < minI)
{
System.out.println(list.get(maxI));
if (isExist == true)
for (int i = 0; i < maxIndex.size(); i++) {
System.out.println(list.get(maxIndex.get(i)));
}
}
}
}
package com.javarush.task.task07.task0712;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
/*
Самые-самые
*/
public class Solution {
public static void main(String[] args) throws Exception {
//напишите тут ваш код
ArrayList<String> list = new ArrayList<String>();
ArrayList<Integer> maxIndex = new ArrayList<Integer>();
ArrayList<Integer> minIndex = new ArrayList<Integer>();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
for (int i = 0; i < 10; i++) {
list.add(reader.readLine());
}
int max = list.get(0).length();
int min = list.get(1).length();
int maxI = 0, minI = 1;
//maxIndex.add(0, 0);
//minIndex.add(0, 1);
boolean isExist = false;
for (int i = 0; i < 10; i++) {
if (list.get(i).length() > max)
{
max = list.get(i).length();
maxI = i;
}
if (list.get(i).length() < min)
{
min = list.get(i).length();
minI = i;
}
}
for (int i = 0; i < 10; i++) {
if (list.get(i).length() == max && i < minI && i != maxI)
{
isExist = true;
max = list.get(i).length();
maxIndex.add(i);
}
if (list.get(i).length() == min && i < maxI && i != minI)
{
isExist = true;
min = list.get(i).length();
minIndex.add(i);
}
}
if (maxI > minI)
{
System.out.println(list.get(minI));
if (isExist == true)
for (int i = 0; i < minIndex.size(); i++) {
System.out.println(list.get(minIndex.get(i)));
}
}
else if (maxI < minI)
{
System.out.println(list.get(maxI));
if (isExist == true)
for (int i = 0; i < maxIndex.size(); i++) {
System.out.println(list.get(maxIndex.get(i)));
}
}
}
}