13.羅馬數字轉整數(Roman to Integer)
題目描述
給定一個羅馬數字,將其轉換成整數。返回的結果要求在 1 到 3999 的範圍內。
解題思路
public int romanToInt(String s) { if (s == null || s.length() == 0) return -1; HashMap<Character, Integer> map = new HashMap<Character, Integer>(); map.put('I', 1); map.put('V', 5); map.put('X', 10); map.put('L', 50); map.put('C', 100); map.put('D', 500); map.put('M', 1000); int len = s.length(), result = map.get(s.charAt(len - 1)); for (int i = len - 2; i >= 0; i--) { if (map.get(s.charAt(i)) >= map.get(s.charAt(i + 1))) result += map.get(s.charAt(i)); else result -= map.get(s.charAt(i)); } return result; }
相關推薦
leetcode-13-羅馬數字轉整數(roman to integer)-java
題目及測試 package pid013; /*羅馬數字轉整數 羅馬數字包含以下七種字元: I, V, X, L,C,D 和 M。 字元 數值 I 1 V 5 X 10 L
【LeetCode】#13羅馬數字轉整數(Roman to Integer)
【LeetCode】#13羅馬數字轉整數(Roman to Integer) 題目描述 羅馬數字包含以下七種字元: I, V, X, L,C,D 和 M。 字元 數值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 羅馬數字 2 寫做 II ,即為兩
LeetCode 13. 羅馬數字轉整數 Roman to Integer(C語言)
題目描述: 羅馬數字包含以下七種字元: I, V, X, L,C,D 和 M。 字元 數值 I 1 V 5 X
13.羅馬數字轉整數(Roman to Integer)
題目描述給定一個羅馬數字,將其轉換成整數。返回的結果要求在 1 到 3999 的範圍內。解題思路public int romanToInt(String s) { if (s == null || s.length() == 0) re
[LeetCode]13. 羅馬數字轉整數(Roman numeral to integer) Java
一、題目: LeetCode地址 羅馬數字包含以下七種字元:I, V, X, L,C,D 和 M。 字元 數值 I 1 V 5 X 10 L
LeetCode : 13. 羅馬數字轉整數(Roman To Integer)解答
13. 羅馬數字轉整數 羅馬數字包含以下七種字元: I, V, X, L,C,D 和 M。 字元 數值 I 1 V 5
Leetcode 13 羅馬數字轉整數
lee turn style 數字 多少 數字字符串 羅馬 leetcode 位置 將每個羅馬字母對應的整數寫成字典格式,將輸入的羅馬數字字符串轉換成列表形式 一開始想的是怎麽將羅馬字母的對應位置找出來,利用列表循環相加 後來發現了規律,‘IV‘和’I‘+‘V‘只相差2,
leetcode 13. 羅馬數字轉整數(java)
羅馬數字包含以下七種字元: I, V, X, L,C,D 和 M。 字元 數值 I 1 V 5 X 10 L 50 C
LeetCode題庫13. 羅馬數字轉整數(c++實現)
input rcp name iii leetcode nbsp out pre sin 問題描述: 羅馬數字包含以下七種字符: I, V, X, L,C,D 和 M。 字符 數值 I 1 V 5
【LeetCode】 13 羅馬數字轉整數
解題思路: 1 很明顯,有兩種字元形式:一個字母和兩個字母,可以進行分別討論。 2 對兩種分別建字典,分別處理。 3 這種方法思路較清晰,但是較慢;較快的思路是對字串連續讀,如果右邊字母表示的數字比左邊的大,則在結果中減去此值,程式碼就不貼了。 程式碼: class So
LeetCode-13. 羅馬數字轉整數
題目地址:https://leetcode-cn.com/problems/roman-to-integer/ 題意:字面意思 思路:模擬即可 程式碼: class Solution { public: int romanToInt(string s) { m
[Leetcode] 13. 羅馬數字轉整數 java
羅馬數字包含以下七種字元:I, V, X, L,C,D 和 M。 字元 數值 I 1 V 5 X 10 L 50 C 100 D
13. 羅馬數字轉整數(leetcode)
羅馬數字包含以下七種字元:I, V, X, L,C,D 和 M。 字元 數值 I 1 V 5 X 10 L 50 C 100 D
LeetCode 13.羅馬數字轉整數
目錄 0. 題目描述 1. 解題分析 (1)思路也很簡單:逐一讀取字串,根據轉換規則進行轉換。為了減少if邏輯判斷,用了map來儲存羅馬數字與對應的整數,增加了一點空間消耗。 #include<string> #include<ma
LeetCode.13. 羅馬數字轉整數
羅馬數字包含以下七種字元: I, V, X, L,C,D 和 M。 字元 數值 I 1 V 5 X 10 L 50 C 10
Leetcode 13.羅馬數字轉整數(Python3)
13.羅馬數字轉整數 羅馬數字包含以下七種字元: I, V, X, L,C,D 和 M。 字元 數值 I 1 V 5 X 10 L
Leetcode ---- 13.羅馬數字轉整數
題目: 羅馬數字包含以下七種字元: I, V, X, L,C,D 和 M。 字元 數值 I 1 V 5 X 10 L 50 C 100
【Leetcode_總結】13. 羅馬數字轉整數
羅馬數字包含以下七種字元: I, V, X, L,C,D 和 M。 字元 數值 I 1 V 5 X 10 L 50 C 100 D
LeetCode :C語言 13羅馬數字轉整數
這道題寫的時候思路也比較清晰,唯一有點困惑的是判斷字串的長度。(用了while迴圈來判斷。) int charToInt(char ch) { switch(ch) { case 'I':return 1; case 'V
13. 羅馬數字轉整數
羅馬數字包含以下七種字元: I, V, X, L,C,D 和 M。 字元 數值 I 1 V 5 X 10 L 50 C 100 D