[LeetCode] 013. Roman to Integer (Easy) (C++/Java/Python)
来源:互联网 发布:linux修改内核参数 编辑:程序博客网 时间:2024/05/18 23:13
索引:[LeetCode] Leetcode 题解索引 (C++/Java/Python/Sql)
Github: https://github.com/illuz/leetcode
013.Roman_to_Integer (Easy)
链接:
题目:https://oj.leetcode.com/problems/roman-to-integer/
代码(github):https://github.com/illuz/leetcode
题意:
把罗马数转为十进制。
分析:
跟 012. Integer to Roman (Medium) 一样,只要知道转化规则就行了。
代码:
C++:
class Solution {private:int val[255];void init() {val['I'] = 1; val['V'] = 5; val['X'] = 10; val['L'] = 50;val['C'] = 100; val['D'] = 500; val['M'] = 1000;}public: int romanToInt(string s) {init();int ret = 0;for (int i = 0; i < s.size(); i++) {if (i > 0 && val[s[i]] > val[s[i - 1]]) {ret += val[s[i]] - 2 * val[s[i - 1]];} else {ret += val[s[i]];}}return ret; }};
Java:
public class Solution { private int[] val = new int[255]; private void init() { val['I'] = 1; val['V'] = 5; val['X'] = 10; val['L'] = 50; val['C'] = 100; val['D'] = 500; val['M'] = 1000; } public int romanToInt(String s) { init(); int ret = 0; for (int i = 0; i < s.length(); i++) { if (i > 0 && val[s.charAt(i)] > val[s.charAt(i - 1)]) { ret += val[s.charAt(i)] - 2 * val[s.charAt(i - 1)]; } else { ret += val[s.charAt(i)]; } } return ret; }}
Python:
class Solution: # @return an integer def romanToInt(self, s): val = {'I': 1, 'V': 5, 'X': 10, 'L': 50, 'C': 100, 'D': 500, 'M': 1000} ret = 0 for i in range(len(s)): if i > 0 and val[s[i]] > val[s[i - 1]]: ret += val[s[i]] - 2 * val[s[i - 1]] else: ret += val[s[i]] return ret
1 0
- [LeetCode] 013. Roman to Integer (Easy) (C++/Java/Python)
- Leetcode[Easy] -- Roman to Integer
- LeetCode 12 Integer to Roman(C,C++,Java,Python)
- LeetCode 13 Roman to Integer (C,C++,Java,Python)
- [LeetCode] 012. Integer to Roman (Medium) (C++/Java/Python)
- LeetCode 13 Roman to Integer (easy)——python
- [LeetCode] 008. String to Integer (Easy) (C++/Java/Python)
- [Leetcode 13, Easy] Roman To Integer
- 【LeetCode】(13)Roman to Integer(Easy)
- LeetCode 13. Roman to Integer -- Easy
- Leetcode 13. Roman to Integer (Easy) (cpp)
- LeetCode #13 - Roman to Integer - Easy
- Leetcode OJ 13 Roman to Integer [Easy]
- Leetcode: 13. Roman to Integer(Week2, Easy)
- 【Leetcode】【python】Integer to Roman
- 【Leetcode】【python】Roman to Integer
- Leetcode-Roman to Integer-Python
- 13. Roman to Integer [easy] (Python)
- 岁月的剪影【三月dayday欢乐】
- NoSQL数据库之Redis数据库管理一(Redis的介绍与安装部署)
- recv函数异常处理
- [LeetCode]132.Palindrome Partitioning II
- 控制结构程序设计2
- [LeetCode] 013. Roman to Integer (Easy) (C++/Java/Python)
- 牛顿迭代法求平方根(c++代码)
- 黑马程序员——Java基础---IO
- SSMS局域网登录提示“该登录名来自不受信任的域不能与Windows身份验证一起使用。错误18452“解决办法
- 控制结构程序设计3
- centos单机安装Hadoop2.6
- HDU 1848解题报告
- Unity3D ShaderLab<二>Shader属性
- MySQL获取或者查询数据库字段的特定几位