[LeetCode] Fraction to Recurring Decimal
2015-08-03 06:44
295 查看
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. For example,
Given numerator = 1, denominator = 2, return "0.5".
Given numerator = 2, denominator = 1, return "2".
Given numerator = 2, denominator = 3, return "0.(6)".
代码:
Given numerator = 1, denominator = 2, return "0.5".
Given numerator = 2, denominator = 1, return "2".
Given numerator = 2, denominator = 3, return "0.(6)".
代码:
class Solution { public: string fractionToDecimal(int numerator, int denominator) { if (numerator == 0) return "0"; if (denominator == 0) return ""; string result = ""; // is result is negative if ((numerator < 0) ^ (denominator < 0)) { result += "-"; } // convert int to long long num = numerator, den = denominator; num = abs(num); den = abs(den); // quotient long res = num / den; result += to_string(res); // if remainder is 0, return result long remainder = (num % den) * 10; if (remainder == 0) return result; // right-hand side of decimal point map<long, int> map; result += "."; while (remainder != 0) { // if digits repeat if (map.find(remainder)!=map.end()) { int beg = map[remainder]; string part1 = result.substr(0, beg); string part2 = result.substr(beg, result.length()); result = part1 + "(" + part2 + ")"; return result; } // continue map.insert( pair<long,int>( remainder, result.length()) ); res = remainder / den; result += to_string(res); remainder = (remainder % den) * 10; } return result; } };
相关文章推荐
- 一阶谓词逻辑的几个系统(续)
- java.lang.UnsupportedClassVersionError 错误分析
- Ural 2018. The Debut Album
- 你來了
- C语言的格式化输出函数printf
- Android Api Demos登顶之路(十六)Recreate
- 理解Storm并发
- DT大数据梦工厂 温故而知新 之16讲
- 使用熔断器设计模式保护软件
- 酒店与旅游胜地
- 如何利用事件营销一天获得35万微信粉丝
- Linux下的signal信号机制
- 堆栈的一些小小的实践
- 堆栈的一些小小的实践
- DT大数据梦工厂 温故而知新 之15讲
- 最简单的ListView中实现单选和多选效果
- [LeetCode] Best Time to Buy and Sell Stock VI
- LaTex不能预览生成的PDF文件的解决办法
- 【JVM】模板解释器--如何根据字节码生成汇编码?
- [LeetCode]Binary Tree Maximum Path Sum