Given two integers rePResenting the numerator and denominator of a fraction, return the fraction in string format.
If the fractional part is repeating, enclose the repeating part in parentheses.
For example,
Given numerator = 1, denominator = 2, return “0.5”. Given numerator = 2, denominator = 1, return “2”. Given numerator = 2, denominator = 3, return “0.(6)”.
s思路: 1. 這道題的難點,就是如何把循環(huán)小數(shù)找出來,即:開始的地方。例如: 2. 把每次余數(shù)的值和對應(yīng)的商的位置的映射關(guān)系存在map里,方便查詢! 3. 這種設(shè)計兩個數(shù)的interplay,很多trival case需要考慮,比如:兩個負(fù)數(shù)相除,-2147483648/-1就必須轉(zhuǎn)換成long才能做;又比如:一個正數(shù)除以一個負(fù)數(shù),10/-3,則要把符號先考慮,然后轉(zhuǎn)換成絕對值再計算小數(shù)部分;還比如,一個小的正數(shù)除以一個大的負(fù)數(shù),7/-12,由于正數(shù)部分為0,所以還只有比較除數(shù)和被除數(shù)的絕對值大小才能得到符號。如果不仔細(xì),不考慮這些可能的特殊情況,調(diào)試就很痛苦!
新聞熱點
疑難解答