166. Fraction to Recurring Decimal
来源:互联网 发布:大智慧 股票数据接口 编辑:程序博客网 时间:2024/05/17 18:23
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)".
Hint:
- No scary math, just apply elementary math knowledge. Still remember how to perform a long division?
- Try a long division on 4/9, the repeating part is obvious. Now try 4/333. Do you see a pattern?
- Be wary of edge cases! List out as many test cases as you can think of and test your code thoroughly.
Code:
public class Solution { public String fractionToDecimal(int numerator, int denominator) { return getInt(numerator,denominator) + getDec(numerator,denominator); } String getInt(int num, int denum){ String sign = ((num > 0) == (denum > 0) || num == 0) ? "" : "-"; long n = Math.abs((long) num); long dn = Math.abs((long) denum); return sign + (n/dn); } String getDec(int num, int denum){ long n = Math.abs((long) num); long dn = Math.abs((long) denum); n = n % dn; if(n == 0) return ""; HashMap<Long,Integer> hm = new HashMap<>(); StringBuilder sb = new StringBuilder(); sb.append("."); while(n != 0 && !hm.containsKey(n)){ long t = (n * 10) / dn; hm.put(n,sb.length()); sb.append(t); n = (n * 10) % dn; } if(n != 0){ sb.insert(hm.get(n),"("); sb.append(")"); } return sb.toString(); }}
0 0
- 166. Fraction to Recurring Decimal
- 166. Fraction to Recurring Decimal
- 166. Fraction to Recurring Decimal
- 166. Fraction to Recurring Decimal
- 166. Fraction to Recurring Decimal
- 166. Fraction to Recurring Decimal
- 166. Fraction to Recurring Decimal
- 166. Fraction to Recurring Decimal
- 166. Fraction to Recurring Decimal
- 166. Fraction to Recurring Decimal
- 166. Fraction to Recurring Decimal
- 166. Fraction to Recurring Decimal
- 166. Fraction to Recurring Decimal
- 166. Fraction to Recurring Decimal
- 166. Fraction to Recurring Decimal
- 166. Fraction to Recurring Decimal
- 166. Fraction to Recurring Decimal
- 166. Fraction to Recurring Decimal
- poj 1094 Sorting It All Out(拓扑排序)
- 面向对象(一)
- Python学习笔记:open()函数打开文件路径报错问题
- 网页开发工具
- 4.React Native接入原生项目的一些问题
- 166. Fraction to Recurring Decimal
- 需求分析阶段各种图的功能
- 论文Convolutional Naural Networks for Sentence Classification--TensorFlow实现篇
- 基于深度学习的目标检测算法综述
- 使用recycleview实现广告轮播
- requests使用代理ip的方法
- 在wget获取url路径时遇到的问题
- Python定时执行任务
- struts2入门