• Leetcode练习(Python):哈希表类:第166题:分数到小数:给定两个整数,分别表示分数的分子 numerator 和分母 denominator,以字符串形式返回小数。 如果小数部分为循环小数,则将循环的部分括在括号内。


    题目:
    分数到小数:给定两个整数,分别表示分数的分子 numerator 和分母 denominator,以字符串形式返回小数。  如果小数部分为循环小数,则将循环的部分括在括号内。 
    思路:
    一开始想到用哈希表来存储小数点后的部分,就是没有想出一个很好的表达,一直也不对,看来一个大神的解答,写的很好啊,学习了,自己按照他的思想写了一下,此外,这道题涉及到的细节问题有很多,得注意。
    程序:
    class Solution:
        def fractionToDecimal(self, numerator: int, denominator: int) -> str:
            if numerator == 0:
                return '0'
            if denominator == 0:
                return 'Nan'
            if numerator * denominator < 0:
                sign = '-'
            if numerator * denominator > 0:
                sign = ''
            numerator = abs(numerator)
            denominator = abs(denominator)
            a, b = divmod(numerator, denominator)
            if b == 0:
                return sign + str(a)
            result = sign + str(a) + '.'
            myHashMap = {}
            index = len(result)
            while b != 0:
                if b not in myHashMap:
                    myHashMap[b] = index
                else:
                    index = myHashMap[b]
                    result = result[: index] + '('+ result[index :] +')'
                    return result
                a, b = divmod(b * 10, denominator)
                result += str(a)
                index += 1
            return result
  • 相关阅读:
    十五、函数助手
    REST介绍以及常用的返回状态码
    十四、配置元件之计数器
    十三、参数化
    十二、jmeter目录结构
    十一、HTTP请求之Content-Type
    十、元件的作用域与执行顺序
    九、配置命令行模式
    04-传输层(3)
    03-传输层(2)
  • 原文地址:https://www.cnblogs.com/zhuozige/p/12795222.html
Copyright © 2020-2023  润新知