当前位置: 首页 > news >正文

注册一个免费的网站海口网站公司

注册一个免费的网站,海口网站公司,建设企业官方网站企业登录,wordpress小工具文本加图片代码文章目录题目题解1. 枚举(千/百/十/个)2. 模拟题目 12. 整数转罗马数字 罗马数字是通过添加从最高到最低的小数位值的转换而形成的。将小数位值转换为罗马数字有以下规则: 如果该值不是以 4 或 9 开头,请选择可以从输入中减去的…

文章目录

    • 题目
    • 题解
      • 1. 枚举(千/百/十/个)
      • 2. 模拟

题目

12. 整数转罗马数字
在这里插入图片描述
罗马数字是通过添加从最高到最低的小数位值的转换而形成的。将小数位值转换为罗马数字有以下规则:

如果该值不是以 4 或 9 开头,请选择可以从输入中减去的最大值的符号,将该符号附加到结果,减去其值,然后将其余部分转换为罗马数字。
如果该值以 4 或 9 开头,使用 减法形式,表示从以下符号中减去一个符号,例如 4 是 5 (V) 减 1 (I): IV ,9 是 10 (X) 减 1 (I):IX。仅使用以下减法形式:4 (IV),9 (IX),40 (XL),90 (XC),400 (CD) 和 900 (CM)。
只有 10 的次方(I, X, C, M)最多可以连续附加 3 次以代表 10 的倍数。你不能多次附加 5 (V),50 (L) 或 500 (D)。如果需要将符号附加4次,请使用 减法形式。
给定一个整数,将其转换为罗马数字。

示例 1:

输入:num = 3749

输出: “MMMDCCXLIX”

解释:

3000 = MMM 由于 1000 (M) + 1000 (M) + 1000 (M)
700 = DCC 由于 500 (D) + 100 © + 100 ©
40 = XL 由于 50 (L) 减 10 (X)
9 = IX 由于 10 (X) 减 1 (I)
注意:49 不是 50 (L) 减 1 (I) 因为转换是基于小数位

示例 2:

输入:num = 58

输出:“LVIII”

解释:

50 = L
8 = VIII

示例 3:

输入:num = 1994

输出:“MCMXCIV”

解释:

1000 = M
900 = CM
90 = XC
4 = IV

题解

1. 枚举(千/百/十/个)

class Solution(object):def intToRoman(self, num):""":type num: int:rtype: str"""# 双指针n = len(str(num))res = []num_list = list(str(num))map_roman = {1: "I", 5: "V", 10: "X", 50: "L", 100: "C", 500: "D", 1000: "M",4: "IV", 9: 'IX', 400: 'CD', 900: 'CM', 90: 'XC', 40: "XL"}for i, single_num in enumerate(num_list):single_num = int(single_num)value = single_num * (10 ** (n - i - 1))if value in map_roman:res.append(map_roman[value])else:if single_num <= 3:value = 10 ** (n - i - 1)for j in range(single_num):res.append(map_roman[value])if single_num > 5:res.append(map_roman[5 * 10 ** (n - i - 1)])sub = single_num - 5value_sub = 10 ** (n - i - 1)for k in range(sub):res.append(map_roman[value_sub])return "".join(res)

2. 模拟

class Solution(object):VALUE_SYMBOLS = [(1000, "M"),(900, "CM"),(500, "D"),(400, "CD"),(100, "C"),(90, "XC"),(50, "L"),(40, "XL"),(10, "X"),(9, "IX"),(5, "V"),(4, "IV"),(1, "I"),]def intToRoman(self, num):""":type num: int:rtype: str"""roman = list()for value, symbol in Solution.VALUE_SYMBOLS:while num >= value:num -= valueroman.append(symbol)if num == 0:breakreturn "".join(roman)
http://www.dtcms.com/a/468310.html

相关文章:

  • 网站后台内容管理大学生做网站赚钱
  • 域名备案和网站备案有什么区别嘉兴网站建设网站
  • 昆明企业网站建设个人网站不备案可以吗
  • 网站模版制作教程做网站时给图片添加链接
  • 盐城网站建设0515icpdw 怎么做钓鱼网站
  • 襄阳作风建设年活动网站国外饮品网站
  • 大兴网站建设制作wordpress小工具推荐
  • 房产网站cms邯郸开发网站有哪些
  • 网站建设都需学哪些苏州公司网站设计
  • 上海高端做网站海南微信网站制作平台
  • 网站定制电话qq浏览器直接打开网页
  • 平邑县建设局网站公众号页面开发
  • 专业的网站建设流程wordpress评论框添加表情评论
  • 家纺 网站模版连云港网站关键词优化
  • 做qq阅读网站介绍可口可乐软文范例
  • 本溪网站制作龙华网站 建设信科网络
  • 国外酷炫网站市场营销手段13种手段
  • 桐庐做网站html5做手机网站建设
  • 学校网站建设情况汇报国际形势最新消息
  • 可以推广网站咸阳网站建设费用
  • 网站推广工具网络百度搜索引擎介绍
  • 电子商务网站建设视频教程小程序商城哪家好些
  • 西安微信网站制作wordpress用户ip
  • 如何用源码搭建网站源码王通seo
  • 建设银行网银盾不能打开网站网络营销模式不是孤立存在的
  • 高并发电商网站开发西安是哪个省属于哪个市
  • 那里有网站建设苏州做网站比较好的公司
  • o2o网站建设信息建工厂网站的公司
  • 淘宝客网站免费建站潍坊外贸建站
  • 网站建设下什么科目设计公司企业价值观