zoukankan      html  css  js  c++  java
  • [LeetCode OJ] Roman to Integer

    Given a roman numeral, convert it to an integer.

    Input is guaranteed to be within the range from 1 to 3999.

    下面是百度得到的关于罗马数的解释:

    我的代码:

     1 class Solution {
     2 public:
     3     int romanToInt(string s) {
     4         map<char,int> conversion;
     5         conversion.insert(make_pair('I',1));
     6         conversion.insert(make_pair('V',5));
     7         conversion.insert(make_pair('X',10));
     8         conversion.insert(make_pair('L',50));
     9         conversion.insert(make_pair('C',100));
    10         conversion.insert(make_pair('D',500));
    11         conversion.insert(make_pair('M',1000));
    12         int ans=0;
    13         for(unsigned i=0; i<s.size(); i++)
    14         {
    15             if(s[i]=='V' || s[i]=='L' || s[i]=='D') //不能把基本数字V 、L 、D 中的任何一个作为小数放在大数的左边采用相减的方法构成数目
    16                 ans += conversion[s[i]];
    17             else   //基本数字Ⅰ、X 、C 中的任何一个,自身连用构成数目,或者放在大数的右边连用构成数目,都不能超过三个;放在大数的左边只能用一个
    18             {
    19                 if(i<s.size()-1 && conversion[s[i]]<conversion[s[i+1]])
    20                 {
    21                     ans += conversion[s[i+1]]-conversion[s[i]];
    22                     i++;
    23                 }
    24                 else
    25                     ans += conversion[s[i]];
    26             }
    27         }
    28         return ans;
    29     }
    30 };
  • 相关阅读:
    Shell学习(八)——dd命令
    PLSQL导出oracle表结构和数据
    如何让Linux 机器CPU使用率变高
    WebService学习总览
    Java发HTTP POST请求(内容为xml格式)
    Oracle—回车、换行符
    Oracle—merge into语法
    Apache解析和绑定域名
    MySQL根据经纬度按距离排序
    jquery监听input
  • 原文地址:https://www.cnblogs.com/Marrybe/p/3847409.html
Copyright © 2011-2022 走看看