美文网首页首页投稿@IT·互联网首页投稿(暂停使用,暂停投稿)
长衣长裤陪蚊子|罗马数字如何转化成阿拉伯数字?

长衣长裤陪蚊子|罗马数字如何转化成阿拉伯数字?

作者: SweetBecca | 来源:发表于2016-08-08 19:17 被阅读130次

碎碎念

今儿在户外写代码,写到黄昏,乐此不疲。可是居然突然袭来一大波臭蚊子!!腿上胳膊上叮了近20个包!但写简书又欲罢不能,结果怎么着?我大热天的穿长衣长裤和外套继续写=。= 为自己热爱的青春致敬。
有评论网友说:明明可以靠脸吃饭,却偏要靠实力。我想,脸和实力都要靠,这样我就被夹住了,O(∩_∩)O哈哈哈~

问题描述

13.Roman to Integer
Given a roman numeral, convert it to an integer.
Input is guaranteed to be within the range from 1 to 3999.

题目很简约,Roman却不简洁。

罗马数字到底是怎么记数的?

百度百科:


罗马数字规则.png

第一次了解罗马数字的计数法,果然应该被淘汰了,太复杂了T。T
尤其是规则2和3,逆天的方法。
我的解决思路就是把字母都用数值表示,严格按照计数法来执行。

贴上我的AC代码

class Solution {
public:
    int romanToInt(string s) {
        int ans  = 0;
        vector<int> tmp;
        for(int i = 0; i < s.length(); i++ ){
            
            char a = s[i];
            
            switch(a){
                case 'M':   tmp.push_back(1000);    break;
                case 'D':   tmp.push_back(500);    break;
                case 'C':   tmp.push_back(100);     break;
                case 'L':   tmp.push_back(50);      break;
                case 'X':   tmp.push_back(10);      break;
                case 'V':   tmp.push_back(5);       break;
                case 'I':   tmp.push_back(1);       break;
                default:    break;
            }
            
        }
        
        for(int i = 0; i < tmp.size(); i++){
                if ( i < tmp.size() - 1 && tmp[i] < tmp[i + 1] ){//如果左面比右面小,开启特殊技能
                    ans += tmp[i + 1] - tmp[i];
                    i++;//快进一个字符
                }
                else
                    ans += tmp[i];
                    
                   // cout<<ans<<endl;
         }
        return ans;
    }
};

此代码48ms,非最佳。中游。
我也不知道为什么有比我快的,看了几个别人的解法,思路一样。
—END—

相关文章

  • 长衣长裤陪蚊子|罗马数字如何转化成阿拉伯数字?

    碎碎念 今儿在户外写代码,写到黄昏,乐此不疲。可是居然突然袭来一大波臭蚊子!!腿上胳膊上叮了近20个包!但写简书又...

  • 讨厌的蚊子

    如果没有蚊子,夏天一定是最完美的季节。 我怕热,但是更怕蚊子,夏天从来都是长衣长裤,宁可闷一身臭汗,也不愿意被蚊子...

  • 2019-02-11

    2019-02-1112.2 罗马数字与阿拉伯数字的转换ROMAN函数将阿拉伯数字转换为罗马数字。语法ROMAN(...

  • 过了的事情就让它过了吧

    今天的饭还是不好吃,今天买的橘子也不好吃。今天还是被蚊子咬了,我真的要哭死了。现在都一直穿着长衣长裤出门。 不过今...

  • 【快乐数学】有趣的罗马数字

    罗马数字,你认识吗?请一起来认识有趣的罗马数字吧! 罗马数字的起源 罗马数字是由古罗马人创造的,比阿拉伯数字早20...

  • 我就那么学着我不喜欢学的数学,学了13年

    啊啊啊啊,我就奇了怪了,这蚊子这些虫子怎么一天都爱咬我,出去都要穿长衣长裤,才不会被咬。 每天都在写数学,感觉每天...

  • 云栖竹径,一颗巧克力树

    天一晴,就很闷热。去竹林避暑吧,一个叫云栖竹径的地方,我说。 我说,那里蚊子特别多,要穿长衣长裤。两个奶奶都穿着裙...

  • 聚蚊成雷

    来非洲防蚊子乃第一要务,风油精,清凉油是必备物品,每人都随身带一大堆。我不敢马虎,出门时,长衣,长裤,帽子之外,再...

  • 三句半

    秋风秋雨寒入侵,酥胸玉腿终无影。 长衣长裤急上身,——还是怕冷。

  • 第30章

    第二天我看到了满脸全是红包的花连,不过都是小红点,而且古人在夏天也穿长衣长裤,导致蚊子叮的并不全面。花连的脸上有一...

网友评论

本文标题:长衣长裤陪蚊子|罗马数字如何转化成阿拉伯数字?

本文链接:https://www.haomeiwen.com/subject/mzursttx.html