摘要:阿拉伯数字转换成罗马数字给出一个阿拉伯数字,返回此数字的罗马数字表示思路用表记录关键的罗马数字和阿拉伯数字,将输入循环除以,,这些关键数字,余数为,将对应的罗马字符串加次看到大神的思路,也是查表,但更加精妙,将数字分解为千位,百位,十位和个
阿拉伯数字转换成罗马数字 Integer to Roman
给出一个阿拉伯数字,返回此数字的罗马数字表示
Given an integer, convert it to a roman numeral.
Input is guaranteed to be within the range from 1 to 3999.
example 1
input: CCCLXXXIX output: 389思路
用表记录关键的罗马数字和阿拉伯数字,将输入循环除以1000,900,500 ... 这些关键数字,余数为y,将对应的罗马字符串加y次
看到大神的思路,也是查表,但更加精妙,将数字分解为千位,百位,十位和个位,然后查表将字符串相加,很神奇的思路,刚看到的时候惊叹了一下,代码如下
代码class Solution(object): # 思路1 def intToRoman1(self, num): """ :type num: int :rtype: str """ arabic = [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1] roman = ["M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"] ret = "" i = 0 while num: yu = num // arabic[i] ret += roman[i] * yu num = num - yu * arabic[i] i += 1 return ret # 神奇的思路2 def intToRoman2(self, num): M = ["", "M", "MM", "MMM"] #0, 1000, 2000, 3000 C = ["", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"] #0, 100, 200, ... , 900 X = ["", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"] #0, 10, 20, ... , 90 I = ["", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"] #0, 1, 2, ... , 9 return M[num // 1000] + C[(num % 1000) // 100] + X[(num % 100) // 10] + I[num % 10]
本题以及其它leetcode题目代码github地址: github地址
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/38672.html
摘要:下面分几步来简单的探探不同类型的转换吧以下的内容,都可以从权威指南中找到。其他值转换成在编写代码的过程中,几乎不用考虑它的取值类型。核心内置类,会尝试先于可以理解为对象优先转换成数字例外的是,利用的是转换。 最近在写公司的登录注册模块,遇到类型不同相比较的时候,就心惊胆战,每次都要用浏览器来验证一下,决定乱七八糟的随便写一下,方便日后自己回顾知识~ 弱类型带来的那些让人迷糊的事 弱类型...
摘要:罗马数字转换成阿拉伯数字给出一个罗马数字字符串,返回此数字的阿拉伯数字思路存储单个罗马字母代表的阿拉伯数字初始状态,循环遍历字符串,如果所代表的阿拉伯数字大于的,则加到上,如果小于,则减去代表的阿拉伯数字代码右边界保证不会下标越界本 罗马数字转换成阿拉伯数字 Roman to integer 给出一个罗马数字(字符串),返回此数字的阿拉伯数字(int) Given a roman n...
摘要:核心内置类,会尝试先于可以理解为对象优先转换成数字例外的是,利用的是转换。非核心的对象,通过自己的实现中定义的方法转换成原始值。 本文首发于个人博客 showImg(https://segmentfault.com/img/remote/1460000015954811?w=639&h=724); 看到这个是不是有一种想打人的感觉,垃圾 JavaScript,这特么都什么鬼,相信很多...
阅读 2391·2021-11-25 09:43
阅读 1226·2021-11-24 09:39
阅读 709·2021-11-23 09:51
阅读 2365·2021-09-07 10:18
阅读 1810·2021-09-01 11:39
阅读 2743·2019-08-30 15:52
阅读 2556·2019-08-30 14:21
阅读 2828·2019-08-29 16:57