前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >打卡群刷题总结0620——整数转罗马数字

打卡群刷题总结0620——整数转罗马数字

作者头像
木又AI帮
发布2020-06-28 16:23:25
3720
发布2020-06-28 16:23:25
举报
文章被收录于专栏:木又AI帮木又AI帮

题目:12. 整数转罗马数字

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

罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。27 写做 XXVII, 即为 XX + V + II 。 给定一个罗马数字,将其转换成整数。输入确保在 1 到 3999 的范围内。

解题:

1、暴力破解。

2、由于数字范围是1-3999,直接得到个位数、十位数、百位数、千位数,转换为对应的罗马数字。

代码:

代码语言:javascript
复制
class Solution(object):
    def intToRoman(self, num):
        """
        :type num: int
        :rtype: str
        """
        char_10 = ['', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX']
        char_100 = ['', 'X', 'XX', 'XXX', 'XL', 'L', 'LX', 'LXX', 'LXXX', 'XC']
        char_1000 = ['', 'C', 'CC', 'CCC', 'CD', 'D', 'DC', 'DCC', 'DCCC', 'CM']
        char_3000 = ['', 'M', 'MM', 'MMM']

        return char_3000[num // 1000] + char_1000[(num // 100) % 10] + char_100[(num // 10) % 10] + char_10[(num % 10)]

PS:刷了打卡群的题,再刷另一道题,并且总结,确实耗费很多时间。如果时间不够,以后的更新会总结打卡群的题。

PPS:还是得日更呀,总结一下总是好的。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 木又AI帮 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档