Leetcode-166. Fraction to Recurring Decimal
来源:互联网 发布:如何获取微博数据 编辑:程序博客网 时间:2024/05/18 02:24
前言:为了后续的实习面试,开始疯狂刷题,非常欢迎志同道合的朋友一起交流。因为时间比较紧张,目前的规划是先过一遍,写出能想到的最优算法,第二遍再考虑最优或者较优的方法。如有错误欢迎指正。博主首发CSDN,mcf171专栏。
博客链接:mcf171的博客
——————————————————————————————
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.
主要有很多注意事项,其中最关键的是如何对循环数进行处理,同时还有就是注意负数变成正数会越界的问题。Your runtime beats 50.17% of java submissions.
public class Solution { public String fractionToDecimal(int numerator, int denominator) { if(numerator == 0) return "0"; StringBuffer sb = new StringBuffer(""); sb.append((numerator > 0) ^ (denominator > 0)?"-":"" ); long num = Math.abs((long)numerator); long den = Math.abs((long)denominator); sb.append(num/den); num %= den; if(num == 0) return sb.toString(); sb.append("."); Map<Long,Integer> str2index = new HashMap<Long,Integer>(); str2index.put(num,sb.length()); while(num != 0){ num *= 10; sb.append(num/den); num %= den; if(str2index.containsKey(num)){ int index = str2index.get(num); sb.insert(index,"("); sb.append(")"); break; }else{ str2index.put(num,sb.length()); } } return sb.toString(); }}
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
- el表达式补充-使用静态方法
- 利用EasyUI 表格显示Discuz数据库中数据
- 经典问题六.(二维的区间dp)棋盘分割 poj 1191
- js面向对象理解二
- 目标文件有什么读书笔记
- Leetcode-166. Fraction to Recurring Decimal
- Unity5.0新特性------unity内部:内存 和 性能(以及Unity5的升级优化)
- Android的三种动画
- C语言常用运算符优先级
- 有return的情况下try catch finally的执行顺序
- Hibernate的映射关系总结
- Qt creator 中设置命令行参数方法
- 数据库满足第三范式,解题思想
- 服务器端接口参数校验方法