12 - Integer to Roman
JAVA
class Solution { public String intToRoman(int num) { List<String> cs = List.of("M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"); List<Integer> vs = List.of(1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1); StringBuilder ans = new StringBuilder(); for (int i = 0, n = cs.size(); i < n; ++i) { while (num >= vs.get(i)) { num -= vs.get(i); ans.append(cs.get(i)); } } return ans.toString(); } }
C++
class Solution { public: string intToRoman(int num) { vector<string> cs = {"M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"}; vector<int> vs = {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1}; string ans; for (int i = 0; i < cs.size(); ++i) { while (num >= vs[i]) { num -= vs[i]; ans += cs[i]; } } return ans; } };
Comments
Post a Comment