我覺得這個就是簡單的前進問題,用不到動態規劃,只是向前前進幾個值就可以了。多用幾個if,遇見特殊的向前多檢查幾個字元,就是這樣。
看看網上的,網上的方法就是構建出所有的子字串資料,然後按照最大匹配原則匹配出來,真的牛。從沒有規律的地方發現規律,從而簡化**。
總的數字有 i ii iii ,可以轉化成乙個i,77
iv,ix 4,9 77+86=163,77+88=165
xl,xc, 40,90 88+76=164,88+67=155
cd,cm 400, 900,67+68=135,67+77=144
在ascii碼表中,i為73,v為86,x為88,l為76,c為67,d為68,m為77
因此劃分乙個200的陣列就足夠了
每次提取時,如果後面的字元比較大,那麼它就是乙個負數這樣。但是需要注意的是不能有不合規矩的數。但此題是沒有的。
成功了,真簡單。
class solution
else
}return res;
}};
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。通常情況下,羅馬數字中小的數字在大的數字...
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。通常情況下,羅馬數字中小的數字在大的數字的...
Leetcode 13 羅馬數字轉整數
羅馬數字包含以下七種字元 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 通常情況下,羅馬數字中小...