12. 整数转罗马数字
Posted lgz0921
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了12. 整数转罗马数字相关的知识,希望对你有一定的参考价值。
题目链接:https://leetcode-cn.com/problems/integer-to-roman/
思路:把特殊和正常的符号以及他们对应的值全部放在一个map中(看代码)。然后循环从大到小开始减(看代码),同时减的过程中记录一下结果,这样就可以啦~~~
上代码:
class Solution {
fun intToRoman(num: Int): String {
var value = num;
val valueToChar = mapOf(1 to "I", 4 to "IV", 5 to "V", 9 to "IX", 10 to "X", 40 to "XL", 50 to "L", 90 to "XC", 100 to "C", 400 to "CD", 500 to "D", 900 to "CM", 1000 to "M")
val array = arrayOf(1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1)
val result = StringBuilder()
for (item in array) {
while (value >= item) {
result.append(valueToChar[item])
value -= item
}
if (value == 0) {
break
}
}
return result.toString()
}
}
以上是关于12. 整数转罗马数字的主要内容,如果未能解决你的问题,请参考以下文章