Integer to Roman
来源:互联网 发布:搜索字幕的软件 编辑:程序博客网 时间:2024/06/15 01:32
Given an integer, convert it to a roman numeral.
Input is guaranteed to be within the range from 1 to 3999.
此题找规律模拟操作,分析1-10的整数是如何构造出罗马数字的,然后再依葫芦画瓢,注意细节的处理。
class Solution {public: string IntToR(int k, char mask[]) { string Res = ""; if(k <= 3) { for(int i = 0; i < k; ++i) { Res.push_back(mask[0]); } } else if(k == 4) { Res.push_back(mask[0]); Res.push_back(mask[1]); } else if(k <= 8) { Res.push_back(mask[1]); for(int i = 0; i < k - 5; ++i) { Res.push_back(mask[0]); } } else if(k == 9) { Res.push_back(mask[0]); Res.push_back(mask[2]); } return Res; } string intToRoman(int num) { char mask[] = {'I', 'V', 'X', 'L', 'C', 'D', 'M'}; int i = 6; int factor = 1000; string Res = ""; while(num != 0) { int k = num / factor; num = num % factor; factor /= 10; Res += IntToR(k, &mask[i]); i -= 2; } return Res; }};
0 0
- Integer to Roman & Roman to Integer
- Integer to Roman & Roman to Integer
- LeetCode Roman to Integer && Integer to Roman
- 【leetcode】Roman to Integer | Integer to Roman
- Leetcode - "Roman to Integer" & "Integer to Roman"
- LeetCode:Roman to Integer,Integer to Roman
- Integer to Roman and Roman to Integer
- LeetCode Integer to Roman & Roman to Integer
- Roman to Integer/Integer to Roman
- leetcode - roman to integer & integer to roman
- "Roman to Integer" and "Integer to Roman"
- Roman to Integer &&Integer to Roman
- Roman to Integer and Integer to Roman
- Roman to Integer/Integer to Roman
- LeetCode:Roman to Integer
- LeetCode: Integer to Roman
- LeetCode: Roman to Integer
- LeetCode Integer to Roman
- Oozie4.2 安装部署、以及example测试
- 【练习笔记】剑指offer-面试题8 :旋转数组的最小数字
- Android Adapter优化问题
- 初试贪心nyoj6喷水装置(一)
- 显示调用c++动态链接库
- Integer to Roman
- HDU 4355 数轴上的点找使Si^3*Wi最小的和-浮点数三分
- java多线程之 ---- 线程同步
- error LNK2019: 无法解析的外部符号 __imp__CryptBinaryToStringA@20
- c 总结
- Android图片缓存库使用经验总结
- Cookie与Session的区别与联系及生命周期
- 一键安装PPTP服务
- 用JavaScript验证表单