T166 分數到小數

2021-10-08 12:31:02 字數 504 閱讀 8087

class solution 

long fz = math.abs((long)numerator);//考慮fz = -integer.min-value ,fm = 1,這樣相除後的結果int表示不了所以要先轉化成long

long fm = math.abs((long)denominator);

long zs = fz/fm;

long ys = fz%fm;

if(ys==0)

//餘數不為0表示除不盡,會出現小數部分,處理這部分

//記錄餘數部分出現的每個數及其位置,方便判斷重複部分

mapmap = new hashmap<>();當前ys計算完後的結果求出的小數部分值為zs,其在res中的位置為res.length()

while(ys!=0)

map.put(ys,res.length());

}return res.tostring();

}}

166 分數到小數

給定兩個整數,分別表示分數的分子 numerator 和分母 denominator,以字串形式返回小數。如果小數部分為迴圈小數,則將迴圈的部分括在括號內。示例 1 輸入 numerator 1,denominator 2 輸出 0.5 思路 注釋 public string fractiontod...

166 分數到小數

這題真的挺難的,主要難在數學,雜湊表的使用倒是很淺顯,我也是看了別人的思路再自己寫的。a b,a為被除數 b為除數 思路就是把所有補0的被除數都放入雜湊表,對應的鍵值是當前字串的長度。若出現相同的補過0的被除數則代表接下來除法的結果會開始迴圈,則跳出迴圈並在對應位置加括號輸出。幾個要判斷的地方 1....

Leetcode 166 分數到小數

給定兩個整數,分別表示分數的分子 numerator 和分母 denominator,以字串形式返回小數。如果小數部分為迴圈小數,則將迴圈的部分括在括號內。示例 1 輸入 numerator 1,denominator 2輸出 0.5 示例 2 輸入 numerator 2,denominator ...