Задачка с часами :)

Решила задачу на acmp №30, ответ на 2ой тест правильно выводит, но тесткейс в самом сайте не проходит. Ссылка на задачу здесь.

Что не так с моим кодом? Почему правильный ответ не принимается сайтом?

    import java.util.*;

public class Eratosfen {



    public static void mapChange(String time, HashMap<Character,Integer> map){
        if(time.length() < 2)
            time += "0";
        for (int i = 0; i < time.length(); i++) {
            char ch = time.charAt(i);
            if(map.containsKey(ch))
                map.put(ch, map.get(ch) + 1);
            else map.put(ch, 1);
        }
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String f_line = sc.next();
        String s_line = sc.next();

        String[] chars = f_line.split(":");


        int hour = Integer.parseInt(chars[0].trim());
        int min = Integer.parseInt(chars[1].trim());
        int sec = Integer.parseInt(chars[2].trim());

        chars = s_line.split(":");

        int _hour = Integer.parseInt(chars[0].trim()) + 1;
        int _min = Integer.parseInt(chars[1].trim()) + 1;
        int _sec = Integer.parseInt(chars[2].trim()) + 1;

        HashMap<Character, Integer> map = new HashMap<>();
        for (int i = 0; i < 10; i++) {
            char c=(char)(i + '0');
            map.put(c,0);
        }

        for (int i = hour; i < _hour; i++) {
            for (int j = min; j < _min; j++) {
                for (int k = sec; k < _sec; k++) {

                    //System.out.println(i+":"+j+":"+k);
                    mapChange(String.valueOf(i),map);
                    mapChange(String.valueOf(j),map);
                    mapChange(String.valueOf(k),map);

                }
            }
        }
        for (Map.Entry<Character, Integer> entry : map.entrySet()){
            System.out.println(entry.getValue());
        }



    }

}

Ответы (1 шт):

Автор решения: MBo

Эти три цикла for (int i = hour... не приведут к правильному результату, т.к, например, при переходе через границу часа новые минуты будут меньше старых

Если хочется решать перебором, то просто переведите время в секунды от начала суток (01:05:15 = 3600+60+15=3675), пройдите от начала интервала до конца, получая на каждом шаге текущие значения минут, часов и секунд через деление и остаток от деления

→ Ссылка