Leetcode 166 Fraction to Recurring Decimal
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.
Example 1:
Input: numerator = 1, denominator = 2 Output: "0.5"
Example 2:
Input: numerator = 2, denominator = 1 Output: "2"
Example 3:
Input: numerator = 2, denominator = 3 Output: "0.(6)"
這個題是簡單的字串處理,題意就是進行一個除運算,如果說有迴圈出現的數出現的話,那麼用()闊起來。
class Solution {
public String fractionToDecimal(int numerator, int denominator) {
long a = numerator,b = denominator,m = a % b;//使用long型別擴大涉及的範圍
Map<Long,Integer> map = new HashMap<Long,Integer>();//用來儲存小數的位置
if(m == 0){
return a / b + "";
}
StringBuilder sc = new StringBuilder();
if(a * b < 0){
sc.append('-');//留意負數的情況
}
a = Math.abs(a);
b = Math.abs(b);
sc.append(a / b).append('.');
long c = a / b;
a -= b * c;
m = a % b;
map.put(m,sc.length());
while(m != 0){
a *= 10;
sc.append(a / b);
m = a % b;
c = a / b;
a -= b * c;
if(map.containsKey(m)){
return sc.insert((int)map.get(m),'(').append(')').toString();
}//在小數出現之前和之後分別插入'('和')'
map.put(m,sc.length());
}
return sc.toString();
}
}
主要應該注意的就是字串的處理部分
相關文章
- [LeetCode] K-th Smallest Prime Fraction 第K小的質分數LeetCodeFraction質分數
- [AGC003F] Fraction of FractalGCFraction
- AT_arc166_d [ARC166D] Interval Counts
- SMF166
- AT_arc166_c [ARC166C] LU / RD Marking
- MySQL資料型別DECIMAL用法MySql資料型別Decimal
- AcWing 166. 數獨
- decimal,float和double的區別是什麼?Decimal
- PostgreSQL DBA(166) - pgAdmin(Parallelism, what next?)SQLParallel
- 166. 分數到小數
- arc166D 做題小計
- Educational Codeforces Round 166(A-D題解)
- Educational Codeforces Round 166 個人題解(A~D)
- mysql資料庫中decimal資料型別比較大小MySql資料庫Decimal資料型別
- 關於Python中math 和 decimal 模組的解析與實踐PythonDecimal
- Educational Codeforces Round 166 (Rated for Div. 2) - VP記錄
- 如何在資料庫中儲存小數:FLOAT、DECIMAL還是BIGINT?資料庫Decimal
- Acwing166 數獨題解 - DFS剪枝最佳化
- 166. 連結串列倒數第n個節點
- 計算機網路的 166 個核心概念,你知道嗎?計算機網路
- vue中使用decimal.js對前端數值型別進行高精度計算VueDecimalJS前端型別
- Alphabet:2Q21淨利潤185.25億美元 同比大漲166%Alphabet
- C#快速入門教程(9)——浮點數、Decimal型別和數值型別轉換C#Decimal型別
- Educational Codeforces Round 166 (Rated for Div. 2) (補題之抽象的自我審題)抽象
- 【LeetCode】如何學習LeetCode?LeetCode
- leetcodeLeetCode
- 國際食物政策研究所:2019全球糧食政策報告(166頁)
- 【手摸手玩轉 OceanBase 166】怎麼檢視資料備份相關引數?
- 科技愛好者週刊(第 166 期):視訊學習勝過讀書嗎?
- LeetCode in actionLeetCode
- leetcode 238LeetCode
- LeetCode 164 最大間距 HERODING的LeetCode之路LeetCode
- PostgreSQL 原始碼解讀(166)- 查詢#86(基礎知識-上下文無關語法)SQL原始碼
- 2020上半年韓國地區手遊銷售額預計達到166億元
- 聯合國貿發會議:2021年亞太貿易和投資報告(166頁)
- LeetCode 143 重排連結串列 HERODING的LeetCode之路LeetCode
- LeetCode問題LeetCode
- 【LeetCode】Jewels and StonesLeetCode