LeetCode 166. Fraction to Recurring Decimal
来源:互联网 发布:origin软件使用教程 编辑:程序博客网 时间:2024/06/08 03:08
So, the best solution I have seen. 点击打开链接
Integer part is easy to handle. For the fraction part, we need to remember where the loop start. Thus, we need to remember the position to insert '(' and the remainder.
#include <string>#include <unordered_map>#include <iostream>using namespace std;string getDec(long remainder, long den) { string res = ""; unordered_map<long, int> map; int i = 0; while((remainder != 0) && (map.find(remainder) == map.end())) { map.insert(make_pair(remainder, i)); i++; remainder = remainder * 10; res = res + (to_string(remainder/den)); remainder = remainder % den; } if(remainder != 0) { int pos = map[remainder]; res.insert(pos, 1, '('); // insert position, bytes, char res = res + ")"; } return res;}string fractionToDecimal(int numerator, int demoinator) { long num = numerator; long den = demoinator; bool neg = num * den < 0; num = abs(num); den = abs(den); string res = neg ? ("-" + to_string(num / den)) : to_string(num / den); long remainder = num % den; return (remainder == 0) ? res : (res + "." + getDec(remainder, den));}int main(void) { cout << fractionToDecimal(4, 333) << endl;}
0 0
- 166. Fraction to Recurring Decimal Leetcode Python
- Leetcode-166.Fraction to Recurring Decimal
- [Leetcode]166. Fraction to Recurring Decimal @python
- [leetcode] 166. Fraction to Recurring Decimal
- leetcode 166. Fraction to Recurring Decimal
- [LeetCode]166. Fraction to Recurring Decimal
- LeetCode *** 166. Fraction to Recurring Decimal
- LeetCode 166. Fraction to Recurring Decimal
- [LeetCode]problem 166. Fraction to Recurring Decimal
- leetcode-java-166. Fraction to Recurring Decimal
- LeetCode 166. Fraction to Recurring Decimal
- [LeetCode] 166. Fraction to Recurring Decimal
- Leetcode-166. Fraction to Recurring Decimal
- leetcode 166. Fraction to Recurring Decimal
- Leetcode 166. Fraction to Recurring Decimal
- LeetCode 166. Fraction to Recurring Decimal
- Leetcode 166. Fraction to Recurring Decimal
- leetCode 166. Fraction to Recurring Decimal
- LeetCode 163. Missing Ranges
- *leetcode #87 in cpp
- 常用的一些HQL查询语句详解(1)
- Win7+VS2013+OpenCV2.4.13+CUDA7.5.18+CMAKE3.3.0 环境搭建
- leetcode #88 in cpp
- LeetCode 166. Fraction to Recurring Decimal
- 数据库的内联接、外联接
- Binary Tree Level Order Traversal II
- C/C++中读写文件
- leetcode #89 in cpp
- Symmetric Tree
- Android tablayout and toolbar
- Canvas Transformation
- 项目团队数据库版本管理及发布探索