12、整数转罗马数字-cangjie
·
题目
思路
没啥好写的
代码
class Solution {
func intToRoman(num: Int64): String {
var n = num
var index = 0
var rArr=Array<Rune>(40, item: r' ')
while(n>=1000){
rArr[index] = r'M'
index++
n-=1000
}
while(n>=900){
rArr[index] = r'C'
index++
rArr[index] = r'M'
index++
n-=900
}
while(n>=500){
rArr[index] = r'D'
index++
n-=500
}
while(n>=400){
rArr[index] = r'C'
index++
rArr[index] = r'D'
index++
n-=400
}
while(n>=100){
rArr[index] = r'C'
index++
n-=100
}
while(n>=90){
rArr[index] = r'X'
index++
rArr[index] = r'C'
index++
n-=90
}
while(n>=50){
rArr[index] = r'L'
index++
n-=50
}
while(n>=40){
rArr[index] = r'X'
index++
rArr[index] = r'L'
index++
n-=40
}
while(n>=10){
rArr[index] = r'X'
n-=10
index++
}
while(n>=9){
rArr[index] = r'I'
index++
rArr[index] = r'X'
index++
n-=9
}
while(n>=5){
rArr[index] = r'V'
index++
n-=5
}
while(n>=4){
rArr[index] = r'I'
index++
rArr[index] = r'V'
index++
n-=4
}
while(n>=1){
rArr[index] = r'I'
index++
n-=1
}
return String(rArr).trimAsciiRight()
}
}
复杂度
/
遇到的坑
/
结果
更多推荐




所有评论(0)