zoukankan      html  css  js  c++  java
  • leetcode Roman Integer

    class Solution {
     public:
      int romanToInt(string s) {
        if (s.length() < 1)
          return 0;
        map<char,int> m;
    	m['I'] = 1;
    	m['V'] = 5;
    	m['X'] = 10;
    	m['L'] = 50;
    	m['C'] = 100;
    	m['D'] = 500;
    	m['M'] = 1000;    
        int i = s.length() - 1;
        int sum = m[s[i--]];
        while (i >= 0) {
          if (m[s[i + 1]] > m[s[i]])
            sum -= m[s[i]];
          else
            sum += m[s[i]];
          --i;
        }
        return sum;
      }
    };


    class Solution {
     public:
      string intToRoman(int num) {
        // IMPORTANT: Please reset any member data you declared, as
        // the same Solution instance will be reused for each test case.    
        string symbol[]={"M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"};
        int value[]={1000,900,500,400,100,90,50,40,10,9,5,4,1};  
        string res = "";
        int i = 0;
        while (num > 0) {
          if (num >= value[i]) {
            res += symbol[i];
            num -= value[i];
          }
          else
            ++i;
        }
        return res;
      }
    };
    


  • 相关阅读:
    Java学习小记 29
    Java学习小记 28
    Java学习小记 27
    Java学习小记 26
    Java学习小记 25
    Java学习小记 24
    Java学习小记 23
    Java学习小记 22
    Java学习小记 21
    Java学习小记 20
  • 原文地址:https://www.cnblogs.com/pangblog/p/3402514.html
Copyright © 2011-2022 走看看