国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

[LeetCode] Roman to Integer

2019-11-15 01:15:16
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
[LeetCode] 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變成Integer的算法。

記得如果一個(gè)數(shù)比前面一個(gè)數(shù)小,那么就作為加數(shù),反之則是前面那個(gè)數(shù)作為減數(shù)。(eg:IV=4,XLV=45,XX=20)

因此我們可以從隊(duì)尾開(kāi)始,慢慢判斷一個(gè)數(shù)是該+還是該去-。

代碼如下。~

public class Solution {    public int romanToInt(String s) {        if(s==null||s.length()==0){            return 0;        }        HashMap<Character,Integer> hash=new HashMap<Character,Integer>();        hash.put('I',1);        hash.put('V',5);        hash.put('X',10);        hash.put('L',50);        hash.put('C',100);        hash.put('D',500);        hash.put('M',1000);        int len=s.length();        int result=hash.get(s.charAt(len-1));        int compare=result;        for(int i=len-2;i>=0;i--){            int curr=hash.get(s.charAt(i));            if(curr>=compare){                result=result+curr;            }else{                result=result-curr;            }            compare=curr;        }        return result;    }}


發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 凤山县| 孟州市| 和林格尔县| 新乡市| 京山县| 新宾| 合山市| 措勤县| 武川县| 固镇县| 荆门市| 门源| 琼结县| 成安县| 宝坻区| 怀远县| 炉霍县| 宁乡县| 应城市| 太和县| 桂东县| 罗甸县| 墨脱县| 永安市| 晋宁县| 正镶白旗| 图木舒克市| 嘉义县| 仪征市| 西华县| 上林县| 巴南区| 电白县| 瑞昌市| 林甸县| 鄂尔多斯市| 囊谦县| 苗栗市| 桐柏县| 华容县| 湄潭县|