LeetCode 13.ローマ数字回転整数(Java)
2094 ワード
タイトルの説明:
ローマ数字には次の7文字が含まれています.
例えば、ローマ数字2は
通常、ローマ数字の中で小さい数字は大きな数字の右側にあります.しかし、例えば4は書かないという特例もあります.
ローマ数字を指定し、整数に変換します.入力確認は1 3999の範囲内です.
例 1:
例 2:
例 3:
例 4:
例 5:
問題解決の考え方:
(1.ifを常に加算し、コードが最も長く、使用時間が最も短い...
2.配列を設定し、各ローマ数字を整数に変換し、加減を判断する
3.ハッシュテーブルの設定)
コード:
ローマ数字には次の7文字が含まれています.
I
, V
, X
, L
, C
, D
および M
.
I 1
V 5
X 10
L 50
C 100
D 500
M 1000
例えば、ローマ数字2は
II
,2つの並列の1です.12書き込み XII
,つまり X
+ II
. 27書く XXVII
、すなわち XX
+ V
+ II
. 通常、ローマ数字の中で小さい数字は大きな数字の右側にあります.しかし、例えば4は書かないという特例もあります.
IIII
ではなく IV
.数字1は数字5の左側にあり、表す数は大数5から小数1を減らした数値4に等しい.同様に、数字9は IX
.この特殊なルールは、次の6つの場合にのみ適用されます.I
に置くことができます V
(5)と X
(10)の左に、4と9を表します.X
に置くことができます L
(50)と C
(100)の左側に、40と 90. C
に置くことができます D
(500)と M
(1000)の左側に、 400と 900. ローマ数字を指定し、整数に変換します.入力確認は1 3999の範囲内です.
例 1:
: "III"
: 3
例 2:
: "IV"
: 4
例 3:
: "IX"
: 9
例 4:
: "LVIII"
: 58
: L = 50, V= 5, III = 3.
例 5:
: "MCMXCIV"
: 1994
: M = 1000, CM = 900, XC = 90, IV = 4.
問題解決の考え方:
(1.ifを常に加算し、コードが最も長く、使用時間が最も短い...
2.配列を設定し、各ローマ数字を整数に変換し、加減を判断する
3.ハッシュテーブルの設定)
コード:
/**
* Created by YTY on 2018/12/31 0031.
*
I 1
V 5
X 10
L 50
C 100
D 500
M 1000
*/
public class five {
public static void main(String[] args){
}
public int romanToInt(String s) {
int num=0;
int i=0;
int a[]=new int[s.length()];
while(i