[LeetCode]12 Integer to Roman
2015-01-02 13:19
489 查看
https://oj.leetcode.com/problems/integer-to-roman/
http://fisherlei.blogspot.com/2012/12/leetcode-integer-to-roman.html
http://fisherlei.blogspot.com/2012/12/leetcode-integer-to-roman.html
public class Solution { // // 把4,9 定义为特殊的字符 // 从大到小适配 public String intToRoman(int num) { if (num < 1 || num > 3999) return null; // Invalid input. StringBuilder sb = new StringBuilder(); while (num > 0) { for (int i : list) { if (num >= i) { sb.append(map.get(i)); num -= i; break; } } } return sb.toString(); } private static final String ONE = "I"; private static final String FIVE = "V"; private static final String TEN = "X"; private static final String FIFTY = "L"; private static final String HUNDRED = "C"; private static final String FIVE_HUNDREDS = "D"; private static final String THOUSAND = "M"; private static final Map<Integer, String> map = new HashMap<>(); private static final List<Integer> list = new ArrayList<>(); static { // Make it unmodifiable 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"); list.add(1000); list.add(900); list.add(500); list.add(400); list.add(100); list.add(90); list.add(50); list.add(40); list.add(10); list.add(9); list.add(5); list.add(4); list.add(1); } }
相关文章推荐
- [leetcode 12] Integer to Roman
- LeetCode | #12 Integer to Roman
- LeetCode 12 - Integer to Roman
- [Leetcode] 12. Integer to Roman
- [Leetcode 44] 12 Integer To Roman
- LeetCode --- 12. Integer to Roman
- LeetCode12: Integer to Roman
- Leetcode 12 Integer to Roman整数变罗马
- leetcode 12 Integer to Roman
- Leetcode_12_Integer to Roman
- LeetCode 12 integer to roman
- leetcode12 Integer to Roman
- LeetCode 12 Integer to Roman(C,C++,Java,Python)
- [Leetcode] 12 - Integer to Roman
- [LeetCode]12.Integer to Roman
- [LeetCode 12] Integer to Roman
- 12. Integer to Roman Leetcode Python
- [C++]LeetCode 12: Integer to Roman(将整数转换为罗马数字)
- LeetCode 12 - Integer to Roman
- LeetCode12~14 Integer to Roman/Roman to Integer/Longest Common Prefix