摘要:阿拉伯數字轉換成羅馬數字給出一個阿拉伯數字,返回此數字的羅馬數字表示思路用表記錄關鍵的羅馬數字和阿拉伯數字,將輸入循環除以,,這些關鍵數字,余數為,將對應的羅馬字符串加次看到大神的思路,也是查表,但更加精妙,將數字分解為千位,百位,十位和個
阿拉伯數字轉換成羅馬數字 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地址
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/38672.html
摘要:下面分幾步來簡單的探探不同類型的轉換吧以下的內容,都可以從權威指南中找到。其他值轉換成在編寫代碼的過程中,幾乎不用考慮它的取值類型。核心內置類,會嘗試先于可以理解為對象優先轉換成數字例外的是,利用的是轉換。 最近在寫公司的登錄注冊模塊,遇到類型不同相比較的時候,就心驚膽戰,每次都要用瀏覽器來驗證一下,決定亂七八糟的隨便寫一下,方便日后自己回顧知識~ 弱類型帶來的那些讓人迷糊的事 弱類型...
摘要:羅馬數字轉換成阿拉伯數字給出一個羅馬數字字符串,返回此數字的阿拉伯數字思路存儲單個羅馬字母代表的阿拉伯數字初始狀態,循環遍歷字符串,如果所代表的阿拉伯數字大于的,則加到上,如果小于,則減去代表的阿拉伯數字代碼右邊界保證不會下標越界本 羅馬數字轉換成阿拉伯數字 Roman to integer 給出一個羅馬數字(字符串),返回此數字的阿拉伯數字(int) Given a roman n...
摘要:核心內置類,會嘗試先于可以理解為對象優先轉換成數字例外的是,利用的是轉換。非核心的對象,通過自己的實現中定義的方法轉換成原始值。 本文首發于個人博客 showImg(https://segmentfault.com/img/remote/1460000015954811?w=639&h=724); 看到這個是不是有一種想打人的感覺,垃圾 JavaScript,這特么都什么鬼,相信很多...
閱讀 2418·2021-11-25 09:43
閱讀 1250·2021-11-24 09:39
閱讀 752·2021-11-23 09:51
閱讀 2389·2021-09-07 10:18
閱讀 1868·2021-09-01 11:39
閱讀 2783·2019-08-30 15:52
閱讀 2598·2019-08-30 14:21
閱讀 2863·2019-08-29 16:57