成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

【LeetCode Easy】013 Roman to Integer

wizChen / 3349人閱讀

摘要:將羅馬字母的字符串轉(zhuǎn)換為代表的整數(shù)這題不難,用一個(gè)存羅馬數(shù)字和具體數(shù)字的對(duì)應(yīng)關(guān)系,然后遍歷前后兩兩比較,該加加,該減減時(shí)間復(fù)雜度這里是自己寫(xiě)的一個(gè)方法,里面用一個(gè),相當(dāng)于存對(duì)應(yīng)當(dāng)時(shí)一直想著用一個(gè)來(lái)存減的值,所以沒(méi)法用就用了指針,但其實(shí)就

Easy 013 Roman to Integer Description:
將羅馬字母的字符串轉(zhuǎn)換為代表的整數(shù)
Roman numerals are usually written largest to smallest from left to right. However, there are six instances where subtraction is used:
I can be placed before V (5) and X (10) to make 4 and 9.
X can be placed before L (50) and C (100) to make 40 and 90.
C can be placed before D (500) and M (1000) to make 400 and 900.
Symbol       Value
I             1
V             5
X             10
L             50
C             100
D             500
M             1000
My Solution:

這題不難,用一個(gè)HashMap存羅馬數(shù)字和具體數(shù)字的對(duì)應(yīng)關(guān)系,然后遍歷前后兩兩比較,該加加,該減減

時(shí)間復(fù)雜度O(n)

Fast Solution:

    public static int romanToInt(String s) {
        int num = 0;
        int n = s.length();
        
        for (int i = 0; i < n-1; i++) {
            int curr = map(s.charAt(i));  //這里map是自己寫(xiě)的一個(gè)方法,里面用一個(gè)switch,相當(dāng)于HashMap存對(duì)應(yīng)
            int next = map(s.charAt(i+1));
            num = curr < next ? num - curr : num + curr;
            //當(dāng)時(shí)一直想著用一個(gè)temp來(lái)存減的值,所以沒(méi)法用for就用了while&point指針,但其實(shí)就是很簡(jiǎn)單的比后面小的話在總值里面減去就可以,不需要temp
        }    
        num += map(s.charAt(n-1));       
        return num;
    }

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/74252.html

相關(guān)文章

  • LeetCode - 013 - 羅馬數(shù)字轉(zhuǎn)整數(shù)(roman-to-integer

    摘要:字符數(shù)值例如,羅馬數(shù)字寫(xiě)做,即為兩個(gè)并列的。通常情況下,羅馬數(shù)字中小的數(shù)字在大的數(shù)字的右邊。給定一個(gè)羅馬數(shù)字,將其轉(zhuǎn)換成整數(shù)。 Create by jsliang on 2019-05-23 13:24:24 Recently revised in 2019-05-23 14:55:20 一 目錄 不折騰的前端,和咸魚(yú)有什么區(qū)別 目錄 一 目錄 二 前言 三 解題 ...

    v1 評(píng)論0 收藏0
  • 前端 | 每天一個(gè) LeetCode

    摘要:在線網(wǎng)站地址我的微信公眾號(hào)完整題目列表從年月日起,每天更新一題,順序從易到難,目前已更新個(gè)題。這是項(xiàng)目地址歡迎一起交流學(xué)習(xí)。 這篇文章記錄我練習(xí)的 LeetCode 題目,語(yǔ)言 JavaScript。 在線網(wǎng)站:https://cattle.w3fun.com GitHub 地址:https://github.com/swpuLeo/ca...我的微信公眾號(hào): showImg(htt...

    張漢慶 評(píng)論0 收藏0
  • leetcode部分題目答案之JavaScript版

    摘要:自己沒(méi)事刷的一些的題目,若有更好的解法,希望能夠一起探討項(xiàng)目地址 自己沒(méi)事刷的一些LeetCode的題目,若有更好的解法,希望能夠一起探討 Number Problem Solution Difficulty 204 Count Primes JavaScript Easy 202 Happy Number JavaScript Easy 190 Reverse Bi...

    alphahans 評(píng)論0 收藏0
  • [Leetcode] Roman to Integer and Integer to Roman

    摘要:正則表達(dá)式思路首先我們要熟悉羅馬數(shù)的表達(dá)方式。驗(yàn)證字符串是否是羅馬數(shù),我們先看一下有效的羅馬數(shù)是什么樣的,假設(shè)該數(shù)字小于,從千位到個(gè)位依次拆解。 Valid Roman Numeral 正則表達(dá)式 思路 首先我們要熟悉羅馬數(shù)的表達(dá)方式。M是1000,D是500,C是100,L是50,X是10,V是5,I是1。驗(yàn)證字符串是否是羅馬數(shù),我們先看一下有效的羅馬數(shù)是什么樣的,假設(shè)該數(shù)字小于50...

    wdzgege 評(píng)論0 收藏0
  • leetcode 12 Integer to Roman

    摘要:題目詳情題目的意思是輸入一個(gè)阿拉伯?dāng)?shù)字,我們需要輸出這個(gè)數(shù)字的羅馬數(shù)字表示形式字符串。想法這道題最重要的點(diǎn)就是理解羅馬數(shù)和阿拉伯?dāng)?shù)之間的轉(zhuǎn)換規(guī)律。 題目詳情 Given an integer, convert it to a roman numeral.Input is guaranteed to be within the range from 1 to 3999.題目的意思是: 輸...

    wqj97 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<