LeetcodeアルゴリズムJava全解--12.整数回転ローマ数字
LeetcodeアルゴリズムJavaフル解答–12.整数回転ローマ数字
文書ディレクトリ LeetcodeアルゴリズムJava全解--12.整数回転ローマ数字 題 アイデア 結果 まとめ コード 私の答え 大人たちの答え 試験例 その他 タイトル
ローマ数字には、I、V、X、L、C、D、Mの7文字が含まれています.
例えば、ローマ数字2はIIと書かれており、2つの並列の1である.12はXIIと書きます.つまりX+IIです.27 XXVIIと書くと、XX+V+IIとなります.
通常、ローマ数字の中で小さい数字は大きな数字の右側にあります.しかし、例えば4はIIIではなく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.求商-余剰取得によるデータの取得
自分で半分作って答えを探した
結果
まとめ
ループを自分で半分作るとは思わなかったので答えを探しました
コード#コード#
私の答え
みんなの答え
テストケース
その他
コード管理コードクラウドアドレス:https://gitee.com/lizhaoandroid/LeetCodeAll.git
他の内容を見るには、コラムや私のブログをクリックしてください.https://blog.csdn.net/cmqwan
「大物たちの答え」のラベルはleetcodeから来ています.権利侵害は私に連絡して削除してください.
質問があれば連絡してください、連絡先:QQ 3060507060
文書ディレクトリ
ローマ数字には、I、V、X、L、C、D、Mの7文字が含まれています.
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はIIIではなく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の範囲であることを確認します.
例:
: 3
: "III"
2:
: 4
: "IV"
3:
: 9
: "IX"
4:
: 58
: "LVIII"
: L = 50, V = 5, III = 3.
5:
: 1994
: "MCMXCIV"
: M = 1000, CM = 900, XC = 90, IV = 4.
の意見を打診
1.求商-余剰取得によるデータの取得
自分で半分作って答えを探した
結果
まとめ
ループを自分で半分作るとは思わなかったので答えを探しました
コード#コード#
私の答え
/*
* Copyright (C), 2015-2018
* FileName: Solution012
* Author: zhao
* Date: 2018/11/8 19:35
* Description: 12.
* History:
*
みんなの答え
/**************************************
* better
* ***********************************/
public String better(int num) {
String M[] = { "", "M", "MM", "MMM" };
String C[] = { "", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM" };
String X[] = { "", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC" };
String I[] = { "", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX" };
return M[num / 1000] + C[(num % 1000) / 100] + X[(num % 100) / 10] + I[num % 10];
}
テストケース
@Test
public void test012() {
//
int s1 = 3;
int s2 = 2345;
//
String expResult1 = "III";
String expResult2 = "MMCCCXLV";
//
Solution012 solution012 = new Solution012();
String result1 = solution012.intToRoman(s1);
String result2 = solution012.intToRoman(s2);
//
Assert.assertEquals(expResult1, result1);
Assert.assertEquals(expResult2, result2);
}
その他
コード管理コードクラウドアドレス:https://gitee.com/lizhaoandroid/LeetCodeAll.git
他の内容を見るには、コラムや私のブログをクリックしてください.https://blog.csdn.net/cmqwan
「大物たちの答え」のラベルはleetcodeから来ています.権利侵害は私に連絡して削除してください.
質問があれば連絡してください、連絡先:QQ 3060507060