前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LeetCode 0166 - Fraction to Recurring Decimal

LeetCode 0166 - Fraction to Recurring Decimal

作者头像
Reck Zhang
发布2021-08-11 14:51:55
4430
发布2021-08-11 14:51:55
举报
文章被收录于专栏:Reck Zhang

Fraction to Recurring Decimal

Desicription

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:

代码语言:javascript
复制
Input: numerator = 1, denominator = 2
Output: "0.5"

Example 2:

代码语言:javascript
复制
Input: numerator = 2, denominator = 1
Output: "2"

Example 3:

代码语言:javascript
复制
Input: numerator = 2, denominator = 3
Output: "0.(6)"

Solution

代码语言:javascript
复制
class Solution {
public:
    string fractionToDecimal(long long numerator, long long denominator) {
        if(numerator == 0)
            return "0";
        string res;
        if(numerator < 0 ^ denominator < 0)
            res += "-";
        numerator = abs(numerator);
        denominator = abs(denominator);
        res += to_string(numerator / denominator);
        if(numerator % denominator == 0)
            return res;
        res += ".";
        unordered_map<long long, long long> mp;
        for(long long r = numerator % denominator; r; r %= denominator) {
            if(mp.count(r)) {
                res.insert(mp[r], 1, '(');
                res += ")";
                return res;
            }
            mp[r] = res.size();
            r *= 10;
            res += to_string(r / denominator);
        }
        return res;
    }
};
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-06-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Fraction to Recurring Decimal
    • Desicription
      • Solution
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档