标签:style blog http color io 使用 ar for art
Given a roman numeral, convert it to an integer.
Input is guaranteed to be within the range from 1 to 3999.
罗马数字有如下符号:
思路:从前向后遍历,当前数字比后一个数字大则加入总和,当前数字(I,X,C)比后一个数字小则从总和中减去该数字。
本文参考了:http://blog.csdn.net/wzy_1988/article/details/17057929
1 class Solution { 2 public: 3 int romanToInt(string s) { 4 int str[26]; 5 str[‘I‘-‘A‘]=1; 6 str[‘V‘-‘A‘]=5; 7 str[‘X‘-‘A‘]=10; 8 str[‘L‘-‘A‘]=50; 9 str[‘C‘-‘A‘]=100; 10 str[‘D‘-‘A‘]=500; 11 str[‘M‘-‘A‘]=1000; 12 int sum=0,n=s.size(); 13 s.push_back(s[n-1]); 14 for(int i=0;i<n;i++) 15 { 16 if(str[s[i]-‘A‘]>=str[s[i+1]-‘A‘]) 17 sum+=str[s[i]-‘A‘]; 18 else if(s[i]==‘I‘||s[i]==‘X‘||s[i]==‘C‘) 19 sum-=str[s[i]-‘A‘]; 20 } 21 return sum; 22 } 23 };
标签:style blog http color io 使用 ar for art
原文地址:http://www.cnblogs.com/levicode/p/3967214.html