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 ...