整数转罗马和罗马转整数
来源:互联网 发布:javascript 转义符 编辑:程序博客网 时间:2024/06/09 19:52
整数转罗马:
class Solution {
public:string intToRoman(int num) {
string res = "";
vector<int> val{1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1};
vector<string> str{"M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"};
for (int i = 0; i < val.size(); ++i) {
while (num >= val[i]) {
num -= val[i];
res += str[i];
}
}
return res;
}
};
罗马转整数:
/*
我们需要用到map数据结构,来将罗马数字的字母转化为对应的整数值,因为输入的一定是罗马数字,那么我们只要考虑两种情况即可:
第一,如果当前数字是最后一个数字,或者之后的数字比它小的话,则加上当前数字
第二,其他情况则减去这个数字
*/
class Solution {
public:
/**
* @param s Roman representation
* @return an integer
*/
int romanToInt(string& s) {
int res = 0;
unordered_map<char, int> m{{'I', 1}, {'V', 5}, {'X', 10}, {'L', 50}, {'C', 100}, {'D', 500}, {'M', 1000}};
for (int i = 0; i < s.size(); ++i) {
int val = m[s[i]];
if (i == s.size() - 1 || m[s[i+1]] <= m[s[i]])
res += val;
else
res -= val;
}
return res;
}
};
阅读全文
1 0
- 整数转罗马和罗马转整数
- 罗马字符与整数互转
- 罗马数表示整数
- LeetCode 第12题 整数转罗马字符
- 13. Roman to Integer | 罗马数组转整数
- 罗马数转换成整数
- 整数转换为罗马字符
- 整数转化为罗马数
- 1th 整数 罗马数 转换
- 数字转罗马字符串
- 转罗马字符
- 罗马,罗马!
- Integer to Roman 整数转换为罗马字符
- Leetcode 12 Integer to Roman整数变罗马
- 程序员转型:条条大道通罗马 (转)
- 程序员转型:条条大道通罗马 [转]
- Bonfire: Roman Numeral Converter 阿拉伯 转罗马
- LeetCode Integer to Roman(数字转罗马)
- iOS KVO的实现原理
- Android Studio代码混淆
- IO流--RadomAccessFile类
- spring 定时任务
- Python语法基础13.列表
- 整数转罗马和罗马转整数
- Tr A(矩阵快速幂)
- HDU
- 一个类的六个默认函数
- pascal转c++之路(一)
- x264中的汇编:x86inc.asm——001
- 通过字节流复制粘贴图片
- java web 分页技术
- Longest Increasing Subsequence[LIS 最长上升子序列问题] (Longest Ordered Subsequence) POJ