Skip to content

Latest commit

 

History

History
45 lines (38 loc) · 1.25 KB

12.md

File metadata and controls

45 lines (38 loc) · 1.25 KB
title date
12. 整数转罗马数字
2019-12-06T23:12:00.000Z

https://leetcode-cn.com/problems/integer-to-roman/

使用语言:Go

解:

func intToRoman(num intstring {
    romanMap := make(map[int]string)
    romanMap[1= "I"
    romanMap[4= "IV"
    romanMap[5= "V"
    romanMap[9= "IX"
    romanMap[10= "X"
    romanMap[40= "XL"
    romanMap[50= "L"
    romanMap[90= "XC"
    romanMap[100= "C"
    romanMap[400= "CD"
    romanMap[500= "D"
    romanMap[900= "CM"
    romanMap[1000= "M"
    romans := []int{1000900500400100905040109541}
    var res string
    for i:=0i < len(romans); {
        r := romans[i]
        if num >= r {
            res += romanMap[r]
            num = num - r
        } else {
            i++
        }
    }
    return res
}

这个题目很简单。这里我偷懒只是把所有可能的情况列出来放到一个 map 里,然后通过不断的寻找 num 的加数,来组合出罗马数字。