Python | Leetcode Python题解之第166题分数到小数

题目:

题解:

python 复制代码
class Solution:
    def fractionToDecimal(self, numerator: int, denominator: int) -> str:
        if numerator % denominator == 0:
            return str(numerator // denominator)

        s = []
        if (numerator < 0) != (denominator < 0):
            s.append('-')

        # 整数部分
        numerator = abs(numerator)
        denominator = abs(denominator)
        integerPart = numerator // denominator
        s.append(str(integerPart))
        s.append('.')

        # 小数部分
        indexMap = {}
        remainder = numerator % denominator
        while remainder and remainder not in indexMap:
            indexMap[remainder] = len(s)
            remainder *= 10
            s.append(str(remainder // denominator))
            remainder %= denominator
        if remainder:  # 有循环节
            insertIndex = indexMap[remainder]
            s.insert(insertIndex, '(')
            s.append(')')

        return ''.join(s)
相关推荐
Dxy123931021614 小时前
Python项目打包成EXE完整教程(PyInstaller实战避坑)
开发语言·python
bamb0014 小时前
一个项目带你入门AI应用开发01
python
05664615 小时前
Python康复训练——常用标准库
开发语言·python·学习
圣保罗的大教堂15 小时前
leetcode 3517. 最小回文排列 I 中等
leetcode
昆曲之源_娄江河畔15 小时前
Python如何安装flask, pymssql
开发语言·python·flask·pymssql
05664615 小时前
Python康复训练——控制流与函数
开发语言·python·学习
天使day16 小时前
FastAPI快速入门
python·fastapi
databook16 小时前
用相关性分析消除“冗余特征”
python·机器学习·scikit-learn
幻想时空17 小时前
地图数据采集
python
梦想不只是梦与想17 小时前
Python 中的类型判断方法
python·type·isinstance