Leetcode 13 Roman to Integer
2017-06-22 18:38
507 查看
Leetcode 13 Roman to Integer
//罗马数字采用七个罗马字母作数字 //即Ⅰ(1)、X(10)、C(100)、M(1000)、V(5)、L(50)、D(500) #include <string> using namespace std; class Solution { public: int romanNumber(char c){ switch (c){ case'I': return 1; case'X': return 10; case'C': return 100; case'M': return 1000; case'V': return 5; case'L': return 50; case'D': return 500; } } int romanToInt(string s) { int sum = 0; int max = 1; for (int i = s.size() - 1; i >=0 ; i--){ if (romanNumber(s[i]) >= max){ max = romanNumber(s[i]); sum += max; } else{ sum -= romanNumber(s[i]); } } return sum; } }; /*用map比较明智啊 class Solution { public: int romanToInt(string s) { vector<pair<char, int>> map; map.push_back({'I',1}); map.push_back({'V',5}); map.push_back({'X',10}); map.push_back({'L',50}); map.push_back({'C',100}); map.push_back({'D',500}); map.push_back({'M',1000}); int j, last=-1, ret = 0; for(int i=s.size()-1;i>=0;i--) { for(j=0;j<map.size();j++) { if(map[j].first==s[i]) { if(j<last) { ret = ret-map[j].second; last = - 4000 1; } else { ret = ret+map[j].second; last = j; } } } } return ret; } };*/
相关文章推荐
- leetcode13 :roman to integer
- LeetCode_OJ【12】【13】Integer to Roman && Roman to Integer
- LeetCode---(13)Roman to Integer
- 【LeetCode】(13)Roman to Integer(Easy)
- leetcode 13 -- Roman to Integer
- LeetCode(13)-- RomanToInteger
- Leetcode[12-13] Roman to Integer & Integer to Roman(Java)
- LeetCode 13 -- Roman to Integer
- LeetCode 13 Roman to Integer(罗马数到整型数)
- LeetCode 13:"Roman to Integer"
- leetcode_13_Roman to Integer(C++)(easy)
- [LeetCode-Algorithms-13] "Roman to Integer" (2017.9.22-WEEK3)
- LeetCode 13:Roman to Integer
- 【leetcode】String——Roman to Integer(13)
- Leetcode13: Roman to Integer
- 【leetcode】【13】Roman to Integer
- LeetCode 13 Roman to Integer
- LeetCode 13 Roman to Integer
- LeetCode 13 -Roman to Integer ( JAVA )
- LeetCode - 13. Roman to Integer