[Leetcode] 12. Integer to Roman

来源:互联网 发布:mysql 主键作用 编辑:程序博客网 时间:2024/06/05 01:53

Problem:

思路:
题目只要求讨论1-3999,所以直接穷举各种情况吧,从千位,百位,十位到个位。

Solution:

# -*- coding: utf-8 -*-"""Created on Thu Jan 26 11:36:04 2017@author: liangsht"""class Solution(object):    def intToRoman(self, num):        """        :type num: int        :rtype: str        """        l = ""        tmp1 = num / 1000        if tmp1 != 0:            l = l + 'M'*tmp1        newnum = num - tmp1 * 1000        tmp2 = newnum / 100        if tmp2 == 9:            l = l + "CM"        elif tmp2 >= 5:            l = l + 'D' + 'C'*(tmp2-5)        elif tmp2 == 4:            l = l + "CD"        elif tmp2 >= 1:            l = l + 'C'*tmp2        newnum = newnum - tmp2 * 100        tmp3 = newnum / 10        if tmp3 == 9:            l = l + "XC"        elif tmp3 >= 5:            l = l + 'L' + 'X'*(tmp3-5)        elif tmp3 == 4:            l = l + "XL"        elif tmp3 >= 1:            l = l + 'X'*tmp3        newnum = newnum - tmp3 * 10        tmp4 = newnum         if tmp4 == 9:            l = l + "IX"        elif tmp4 >= 5:            l = l + 'V' + 'I'*(tmp4-5)        elif tmp4 == 4:            l = l + "IV"        elif tmp4 >= 1:            l = l + 'I'*tmp4        return l
0 0
原创粉丝点击