Подскажите, пжл, в чем проблема? Сделал 2 варианта вывода: в алфавитном порядке без учета регистра и в авто отсортированном порядке. В обоих случаях, в тесте выводит нужные имена, в указанном порядке. Но валидатор не пропускает по последнему пункту, с комментарием "Убедись, что выводит в алфавитном порядке имена с макс суммами". Ну, я убедился, а он не пропускает.
В общем, кто видит ошибку, сжальтесь, пжл.
package com.javarush.task.task19.task1920;
/*
Самый богатый
*/
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
public class Solution {
public static void main(String[] args) throws Exception {
FileReader fr = new FileReader(args[0]);
BufferedReader br = new BufferedReader(fr);
ArrayList<String> keys = new ArrayList<>();
ArrayList<Double> vals = new ArrayList<>();
while (br.ready() ) {
String[] pair = br.readLine().split(" ");
String k = pair[0];
double v = Double.parseDouble(pair[1]);
if (!keys.contains(k)) {
keys.add(k);
vals.add(v);
} else {
v = v+ vals.get(keys.indexOf(k));
vals.set(keys.indexOf(k), v);
}
}
for (int i=0; i<vals.size();i++) {
for(int j=vals.size()-1; j>0; j--) {
if (vals.get(j)<vals.get(j-1)){
vals.set(j-1, vals.remove(j));
keys.set(j-1, keys.remove(j));
}
}
}
HashMap<String, String> alfaMaxi = new HashMap<>();
ArrayList<String> maxi = new ArrayList<>();
maxi.add(keys.get(keys.size()-1).toLowerCase());
alfaMaxi.put(keys.get(keys.size()-1).toLowerCase(),keys.get(keys.size()-1));
for (int i=vals.size()-1; i>0; i--) {
if (vals.get(i).equals(vals.get(i-1))) {
maxi.add(keys.get(i-1));
} else {
break;
}
}
Collections.sort(maxi);
for (String a: maxi) {
System.out.println(a);
}
/*for (int i=vals.size()-1; i>0; i--) {
if (vals.get(i).equals(vals.get(i-1))) {
maxi.add(keys.get(i-1).toLowerCase());
alfaMaxi.put(keys.get(i-1).toLowerCase(),keys.get(i-1) );
} else {
break;
}
}
Collections.sort(maxi);
for (String a: maxi) {
System.out.println(alfaMaxi.get(a));
}*/
br.close();
}
}