[LeetCode] 12. Integer to Roman
2018-01-31 19:51
363 查看
12. Integer to Roman
罗马数字规则题目
Given an integer, convert it to a roman numeral.Input is guaranteed to be within the range from 1 to 3999.
思路
罗马数字规则基本表达:I = 1; V = 5; X = 10; L = 50; C = 100; D = 500; M = 1000;
相同数字相连或者小数在大数后面,则表示这些数字相加所得的数,如III=3,CII=102;
小数(限于I, X, C)在大数前面,则表示大数减小数所得的数,如IV=4;
复杂性分析:
时间复杂度:O(n).
空间复杂度:O(1).
题解
class Solution { public: string intToRoman(int num) { string ans; string romanNum[] = {"M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"}; int numValue[] = {1000,900,500,400, 100, 90, 50, 40, 10, 9, 5, 4, 1}; for (int i = 0; num != 0; i++) { while (num >= numValue[i]) { num -= numValue[i]; ans += romanNum[i]; } } return ans; } };
相关文章推荐
- leetcode-java-12. Integer to Roman
- leetcode 12. Integer to Roman
- leetcode 12 Integer to Roman(整型数转换为罗马数字)
- 【LeetCode】C# 12、Integer to Roman
- [LeetCode 12] Integer to Roman
- LeetCode 12_Integer to Roman
- LeetCode 12 - Integer to Roman
- LeetCode_OJ【12】【13】Integer to Roman && Roman to Integer
- leetcode——12——Integer to Roman
- LeetCode 12 integer to roman
- LeetCode题解 #12 Integer to Roman
- LeetCode 12 - Integer to Roman
- LeetCode 12 — Integer to Roman(C++ Java Python)
- [leetcode] 12. Integer to Roman
- LeetCode 12. Integer to Roman & 13. Roman to Integer
- [Leetcode] 12. Integer to Roman
- <LeetCode OJ> 13 / 12 Roman to Integer & Integer to Roman
- LeetCode12: Integer to Roman
- 【LeetCode】12. Integer to Roman (2 solutions)
- leetcode 12 Integer to Roman