暂无分类
暂无标签
发布于2021-04-03 15:53 阅读(634) 评论(0) 点赞(14) 收藏(5)
0
1
2
3
4
5
6
7
8
9
题目链接:: 传送
学习点:
代码:
Python:
class Solution:
def romanToInt(self, s: str) -> int:
my_bo = []; num = 0;
my_dictionary = {
'I': 1, 'V': 5, 'X': 10, 'L': 50, 'C': 100, 'D': 500, 'M': 1000,
'IV': 4, 'IX': 9, 'XL': 40, 'XC': 90, 'CD': 400, 'CM': 900,
}
for i in range(0, len(s) - 1):
ss = s[i] + s[i + 1];
if(ss in my_dictionary):
num += my_dictionary[ss]
my_bo.append(i); my_bo.append(i + 1);
i += 1;
for i in range(0, len(s)):
if(i not in my_bo):
num += my_dictionary[s[i]]
return num
C++:
class Solution {
public:
int romanToInt(string s) {
string str = s;
int sum = 0;
for(int i = 0; i < s.size(); i ++) {
if(str[i] == 'I') {
if(i + 1 < s.size()) {
if(str[i + 1] == 'V') { //IV
sum += 4;
i ++;
}
else if(str[i + 1] == 'X') { //IX
sum += 9;
i ++;
} else sum += 1; //I
} else {
sum += 1; //I
}
} else if(str[i] == 'V') {
sum += 5;
} else if(str[i] == 'X') {
if(i + 1 < s.size()) {
if(str[i + 1] == 'L') { //XL
sum += 40;
i ++;
}
else if(str[i + 1] == 'C') { //LC
sum += 90;
i ++;
} else sum += 10; //L
} else {
sum += 10; //L
}
} else if(str[i] == 'L') {
sum += 50;
} else if(str[i] == 'C') {
if(i + 1 < s.size()) {
if(str[i + 1] == 'D') { //CD
sum += 400;
i ++;
}
else if(str[i + 1] == 'M') { //CM
sum += 900;
i ++;
} else sum += 100; //C
} else {
sum += 100; //C
}
} else if(str[i] == 'D') {
sum += 500;
} else if(str[i] == 'M') {
sum += 1000;
}
}
return sum;
}
};
原文链接:https://blog.csdn.net/weixin_42596275/article/details/115391339
0
1
2
3
4
5
6
作者:高富帅
链接: https://www.pythonheidong.com/blog/article/915048/ca8681ae91e6af42702d/
来源: python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!