leetcode Integer to Roman
来源:互联网 发布:淘宝卖家开通直播条件 编辑:程序博客网 时间:2024/05/01 07:13
Given an integer, convert it to a roman numeral.
Input is guaranteed to be within the range from 1 to 3999.
罗马数字1 5 10 50 100 500 1000
I V X L C D M
1~3 III
4 IV 是1,5
6~8 VI是5+几个1
9 是本位和高位的组合 9 IV, 90 XC, 900 CM
3999 / 3999 test cases passed.
Runtime: 388 ms
string intToRoman(int num) { char symbol[] = {'I', 'V', 'X', 'L', 'C', 'D', 'M'}; int scale = 1000; int n = num; string roman; for (int i = 6; i >= 0; i -= 2) { int digit = n / scale; appToRoman(roman, digit, &symbol[i]); n %= scale; scale /= 10; } return roman; } void appToRoman(string &result, int num, char *symbol) { if (0 == num) { return; } else if (num < 4) { result.append(num, symbol[0]); } else if (4 == num) { result.append(1, symbol[0]); result.append(1, symbol[1]); } else if (num < 9) { result.append(1, symbol[1]); result.append(num - 5, symbol[0]); } else { result.append(1, symbol[0]); result.append(1, symbol[2]); } }
0 0
- 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
- LeetCode Integer to Roman & Roman to Integer
- leetcode - roman to integer & integer to roman
- LeetCode:Roman to Integer
- LeetCode: Integer to Roman
- LeetCode: Roman to Integer
- LeetCode Integer to Roman
- LeetCode: Integer to Roman
- LeetCode : Roman to Integer
- [Leetcode] Roman to Integer
- [Leetcode] Integer to Roman
- Leetcode: Integer to Roman
- Leetcode: Roman to Integer
- LeetCode Integer to Roman
- 【leetcode】Roman to Integer
- WMD驱动安装两种方法
- 《自己动手写操作系统》 第三章 pmtest6源码解析——开启分页机制
- ubuntu12.04——温度测量
- 四、Linux常用命令之文件操作篇(cat、more、head、tail、ln、chmod、chown、chgrp、umask)
- 两台电脑共用键盘鼠标
- leetcode Integer to Roman
- Date、Calendar和StringBuffer的综合使用
- Autorelease的疑问
- awk 常用函数!
- winpcap学习(二)
- 《实时碰撞检测算法技术》读书笔记(五):最近点计算(上)
- 作业02
- 多线程环境下使用的单例模式的实现
- protected的语法