實現羅馬數字與整數的互轉。 數字大小為[1, 3999]之間。
羅馬數字只有7個字母組成,每個字母**的字如下
字母 m d c l x v i四個規則代表數字 1000 500 100 50 10 5 1
相同的數字連寫, 所表示的數等於這些數字相加得到的數。如 ***表示 30
小的數字在大的數字的右邊, 所表示的數等於這些數字相加得到的數 如viii 表示8
小的數字(限於i, x, c)在大的數字的左邊, 所表示的數等於大數減去小的數: 如iv 表示4
在乙個數的上面畫一條橫線, 表示這個數增值1000倍(由於題目只考慮4000以內的數,所以這條規則不用考慮)。
class solution ;
vector
value=;
for(int i=0;iint count=num/key[i];
for(int j=0;jreturn res;
}};
羅馬數字轉換為integer
/*
分析:從前往後掃瞄,用乙個臨時變數記錄分段數字
如果當前比前乙個大,說明這一段的值應該是當前這個值減去上乙個值。
比如:iv=5-1;
否則,將當前值加入到結果中,然後開始下一段記錄。
比如:vi=5+1,ii=1+1
*/class solution
}int romantoint(string s)
else
}return result;
}};
LeetCode刷題 羅馬數字轉整數
羅馬數字包含以下七種字元 i,v,x,l,c,d 和 m。字元 數值 i 1 v 5 x 10 l 50 c 100 d 500 m 1000 例如,羅馬數字 2 寫做 ii 即為兩個並列的 1。12 寫做 xii 即為 x ii 27 寫做 xxvii,即為 xx v ii 通常情況下,羅馬數字中...
leetcode刷題 013羅馬數字轉整數
羅馬數字包含以下七種字元 i,v,x,l,c,d 和 m。字元 數值 i 1v 5 x 10 l 50 c 100 d 500 m 1000 例如,羅馬數字 2 寫做 ii 即為兩個並列的 1。12 寫做 xii 即為 x ii 27 寫做 xxvii,即為 xx v ii 通常情況下,羅馬數字中小...
Leetcode刷題(13 羅馬數字轉整數)
羅馬數字包含以下七種字元 i,v,x,l,c,d 和 m。字元 數值 i 1 v 5 x 10 l 50 c 100 d 500 m 1000 例如,羅馬數字 2 寫做 ii 即為兩個並列的 1。12 寫做 xii 即為 x ii 27 寫做 xxvii,即為 xx v ii 通常情況下,羅馬數字中...