在 java 中对罗马数字进行排序
Sorting roman numeral in java
输入:
[IX, VIII]
期望的输出:
[VIII, IX]
阶段0的输出
[8, 9]
我创建了一个函数来 return 罗马数字的十进制值
然后我有另一个函数根据递增顺序对数字进行排序。
我卡在了如何将排序后的十进制向量return转换为罗马数字的问题上。
这是我的代码示例。
static int romanToDecimal(String romanNumber){...
}
static List<String> sortedList(List<String> number) {
Vector<Integer> v = new Vector<Integer>();
int size = number.size();
for (int i = 0; i < size; i++)
v.add(romanToDecimal(number.get(i)));
Collections.sort(v); //stage 0
}
您可以使用Comparator
util class 来比较实际数值:
static void sortRomanNumerals(List<String> romanNumerals){
romanNumerals.sort(Comparator.comparing(Main::romanToDecimal));
}
输入:
[IX, VIII]
期望的输出:
[VIII, IX]
阶段0的输出
[8, 9]
我创建了一个函数来 return 罗马数字的十进制值 然后我有另一个函数根据递增顺序对数字进行排序。
我卡在了如何将排序后的十进制向量return转换为罗马数字的问题上。
这是我的代码示例。
static int romanToDecimal(String romanNumber){...
}
static List<String> sortedList(List<String> number) {
Vector<Integer> v = new Vector<Integer>();
int size = number.size();
for (int i = 0; i < size; i++)
v.add(romanToDecimal(number.get(i)));
Collections.sort(v); //stage 0
}
您可以使用Comparator
util class 来比较实际数值:
static void sortRomanNumerals(List<String> romanNumerals){
romanNumerals.sort(Comparator.comparing(Main::romanToDecimal));
}