(Java) more generalizing solution with TreeMap


  • 0
    Y
    public String intToRoman(int num) {
            TreeMap<Integer, String> map = new TreeMap<>();
            map.put(1000, "M");
            map.put(900, "CM");
            map.put(500, "D");
            map.put(400, "CD");
            map.put(100, "C");
            map.put(90, "XC");
            map.put(50, "L");
            map.put(40, "XL");
            map.put(10, "X");
            map.put(9, "IX");
            map.put(5, "V");
            map.put(4, "IV");
            map.put(1, "I");
            
            StringBuilder sb = new StringBuilder();
            while(num > 0){
                Integer media = map.floorKey(num);
                sb.append(map.get(media));
                num -= media;            
            }
            return sb.toString();
        }
    
    

Log in to reply
 

Looks like your connection to LeetCode Discuss was lost, please wait while we try to reconnect.