zoukankan      html  css  js  c++  java
  • ✡ leetcode 166. Fraction to Recurring Decimal 分数转换 --------- java

    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)".

    题意很简单,就是把分数转换成小数。

    方法也没什么难的,就是利用HashMap来存储余数出现的位置,遇到相同余数,那么就是循环小数了。

    需要注意的点:1、int的最小值,这个神烦,只能用long来存储计算。

           2、正负号

           3、整除没有小数点。

    public class Solution {
        public String fractionToDecimal(int numerator, int denominator) {
            if (numerator == 0){
                return "0";
            }
            long num1 = Math.abs((long)numerator);
            long num2 = Math.abs((long)denominator);
            StringBuffer str = new StringBuffer();
            if (numerator < 0 ^ denominator < 0 ){
                str.append('-');
            }
            long div = num1 / num2;
            long mod = num1 % num2;
            if (mod == 0){
                str.append(div);
                return str.toString();
            }
            Map map = new HashMap<Long,Integer>();
            str.append(div+".");
            map.put(mod,str.length());
            num1 = mod * 10;
            while (mod != 0){
                div = num1 / num2;
                mod = num1 % num2;
                str.append(div);
                if (map.containsKey(mod)){
                    str.insert((int)map.get(mod),'(');
                    str.append(')');
                    return str.toString();
                }
                map.put(mod,str.length());
                num1 = mod * 10;
            }
            return str.toString();
        }
    }
  • 相关阅读:
    Python入门day41——进程线程高阶
    使用React全家桶搭建一个后台管理系统
    基于 React 开发了一个 Markdown 文档站点生成工具
    The Annual Summary Of 2019
    INHERITED AND NON-INHERITED IN CSS
    组件设计 —— 重新认识受控与非受控组件
    React 现代化测试
    如何使页面交互更流畅
    React Hooks 深入系列
    你不知道的 requestIdleCallback
  • 原文地址:https://www.cnblogs.com/xiaoba1203/p/6117717.html
Copyright © 2011-2022 走看看