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-Fraction to Recurring DecimalLeetCodeFractionDecimal
- [LeetCode] K-th Smallest Prime Fraction 第K小的質分數LeetCodeFraction質分數
- [AGC003F] Fraction of FractalGCFraction
- AT_arc166_d [ARC166D] Interval Counts
- C++ Curiously Recurring Template Prattern(CRTP)例程C++
- AT_arc166_c [ARC166C] LU / RD Marking
- MySQL資料型別DECIMAL用法MySql資料型別Decimal
- decimal 和 numeric (Transact-SQL)DecimalSQL
- How to Convert Decimal Numbers to Words with PythonDecimalPython
- Codeforces Round #166 (Div. 2)
- arc166D 做題小計
- PostgreSQL DBA(166) - pgAdmin(Parallelism, what next?)SQLParallel
- 神奇的decimal,也許面試會問到哦~Decimal面試
- decimal,float和double的區別是什麼?Decimal
- Educational Codeforces Round 166 個人題解(A~D)
- Educational Codeforces Round 166(A-D題解)
- oracle 進位制轉換 HEX/DECIMAL/OCTAL/BINARYOracleDecimal
- C++ 計166-1 轉義字元的使用C++字元
- Oracle 11G OCP 1Z0-053 166Oracle
- MySQL數字型別int與tinyint、float與decimal如何選擇MySql型別Decimal
- ABAP中Char型別資料轉換成Decimal型別型別Decimal
- Oracle OCP IZ0-053 Q166(Flashback Data Archive)OracleHive
- Educational Codeforces Round 166 (Rated for Div. 2) - VP記錄
- mysql資料庫中decimal資料型別比較大小MySql資料庫Decimal資料型別
- 計算機網路的 166 個核心概念,你知道嗎?計算機網路
- decimal(numeric )、float 和 real 資料型別的區別Decimal資料型別
- 關於Python中math 和 decimal 模組的解析與實踐PythonDecimal
- Acwing166 數獨題解 - DFS剪枝最佳化
- 如何在資料庫中儲存小數:FLOAT、DECIMAL還是BIGINT?資料庫Decimal
- Alphabet:2Q21淨利潤185.25億美元 同比大漲166%Alphabet
- 震精-PostgreSQLdecimal64decimal128高效率數值型別擴充套件SQLDecimal型別套件
- vue中使用decimal.js對前端數值型別進行高精度計算VueDecimalJS前端型別
- Educational Codeforces Round 166 (Rated for Div. 2) (補題之抽象的自我審題)抽象
- 科技愛好者週刊(第 166 期):視訊學習勝過讀書嗎?
- C#快速入門教程(9)——浮點數、Decimal型別和數值型別轉換C#Decimal型別
- 【手摸手玩轉 OceanBase 166】怎麼檢視資料備份相關引數?
- PostgreSQL 原始碼解讀(166)- 查詢#86(基礎知識-上下文無關語法)SQL原始碼
- AutoMapper在MVC中的運用02-Decimal轉String、集合、子父類對映APPMVCDecimal