【leetcode】Integer to Roman
2013-04-21 20:28
579 查看
最近使用开发的过程中出现了一个小问题,顺便记录一下原因和方法--
Question :
Given an integer, convert it to a roman numeral.
Input is guaranteed to be within the range from 1 to 3999.
Anwser 1 :
Anwser 2 :
每日一道理
古人云:“海纳百川,有容乃大。”人世间,不可能没有矛盾和争吵,我们要以磊落的胸怀和宽容的微笑去面对它 。哈伯德也曾说过:“宽恕和受宽恕的难以言喻的快乐,是连神明都会为之羡慕的极大乐事。”让我们从宽容中享受快乐,从谅解中体会幸福吧!
文章结束给大家分享下程序员的一些笑话语录: 一位程序员去海边游泳,由于水性不佳,游不回岸了,于是他挥着手臂,大声求.救:“F1,F1!”
Question :
Given an integer, convert it to a roman numeral.
Input is guaranteed to be within the range from 1 to 3999.
Anwser 1 :
class Solution { public: string intToRoman(int num) { // Start typing your C/C++ solution below // DO NOT write int main() function string res; string symbol[]={"M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"}; int value[]={1000,900,500,400,100,90,50,40,10,9,5,4,1}; int i = 0; while(num != 0){ if(num >= value[i]){ // minus largest number num -= value[i]; res += symbol[i]; } else { i++; } } return res; } };
Anwser 2 :
每日一道理
古人云:“海纳百川,有容乃大。”人世间,不可能没有矛盾和争吵,我们要以磊落的胸怀和宽容的微笑去面对它 。哈伯德也曾说过:“宽恕和受宽恕的难以言喻的快乐,是连神明都会为之羡慕的极大乐事。”让我们从宽容中享受快乐,从谅解中体会幸福吧!
class Solution { public: string intToRoman(int num) { // Start typing your C/C++ solution below // DO NOT write int main() function char symbol[7] = {'I', 'V', 'X', 'L', 'C', 'D', 'M'}; string res = ""; int scale = 1000; for (int i = 6; i >= 0; i -= 2) { int digit = num / scale; num2roman(digit, res, symbol + i); num %= scale; scale /= 10; } return res; } void num2roman(int num, string& res, char symbols[]) { if (num == 0) return; if (num <= 3) res.append(num, symbols[0]); else if (num == 4) { res.append(1, symbols[0]); res.append(1, symbols[1]); } else if (num <= 8) { res.append(1, symbols[1]); res.append(num - 5, symbols[0]); } else { res.append(1, symbols[0]); res.append(1, symbols[2]); } } };
文章结束给大家分享下程序员的一些笑话语录: 一位程序员去海边游泳,由于水性不佳,游不回岸了,于是他挥着手臂,大声求.救:“F1,F1!”
相关文章推荐
- 【leetcode】Roman to Integer | Integer to Roman
- [LeetCode]12. Integer to Roman(自学留存)
- LeetCode 12:"Integer to Roman"
- LeetCode Roman to Integer
- [LeetCode] Roman to Integer
- LeetCode (Roman to Integer)
- LeetCode 12 Integer to Roman(C,C++,Java,Python)
- leetcode_13_Roman to Integer(C++)(easy)
- LeetCode12~14 Integer to Roman/Roman to Integer/Longest Common Prefix
- LeetCode-----13. Roman to Integer
- Leetcode: Integer to Roman
- [置顶] [LeetCode] Roman to Integer
- leetcode Roman to Integer
- LeetCode题目:Roman to Integer
- 04-08 leetcode-12 Integer to Roman
- Leetcode || Roman to Integer
- LeetCode--No.13--Roman to Integer
- Leetcode Integer to Roman
- leetcode--integer_to_roman && roman_to_integer
- 【Leetcode】之Integer to Roman