原題位址
class
solution
; string reps=
;int index =
0,res=0;
while
(s.length()
!=0)else
if(s.
length()
>
1&&s.
substring(0
,2).
equals
(reps[index]))
else index++;}
return res;
}}
我的思路就是,從左往右進行轉換.從左往右是由大到小的.然後檢驗是否符合乙個字元的情況,符合就加上去.如果不符合則檢查是否符合兩個字元的情況.如果都不符合,就移動到下乙個字元.使用的記憶體和速度相比其他解來說都有點點慢.
另外乙個思路就是只檢查乙個字元.從左往右,如果前乙個字元比後乙個字元小,則這個字元是負數,變成減.
class
solution
return res;
}public
static
intzhuanhuan
(char c)
return0;
}}
再優化一下速度
class
solution
return res;
}public
static
intzhuanhuan
(char c)
return0;
}}
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。通常情況下,羅馬數字中小的數字在大的數...
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。通常情況下,羅馬數字中小的數字在大的數字...
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 通常情況下,羅馬數字中...