力扣-LCP 02.分式化简

题解:

class Solution:
    def fraction(self, cont: List[int]) -> List[int]:
        # 初始化分子和分母为 0 和 1
        n, m = 0, 1
        # 从最后一个元素开始遍历 cont 列表
        for a in cont[::-1]:
            # 更新分子和分母,分别为 m 和 (m * a + n)
            n, m = m, (m * a + n)
        # 返回最终的分数表示,分子为 m,分母为 n
        return [m, n]

解释:

这段代码实现了一个将分数转换为最简分数的功能。连分数是一种特殊的分数表示方式,由整数部分和一个或多个连续的分数部分组成,其中每个分数部分都是一个整数加上前面所有分数部分的倒数。

例如:连分数[7,7,15,1]表示的数学表达式是"3 + 1 / ( 7 + 1 / (15 + 1/1 ))",我们要将这样的分数转换为普通的最简分数形式。

代码中的 ”cont“参数是一个整数列表,表示连分数的系数。我们从连分数的最后一个系数开始遍历,这样可以逐步计算出最简分数的分子和分母。

首先,我们初始化分子”n“和”0“ 分母” m“和”1“,然后,从最后一个系数开始,我们将分母乘以当前系数a 再加上分子,得到新的分母;同时,将旧的分母赋值给新的分子。这样我们就得到了下一个分数部分的分母和分子。

通过不断迭代这个过程,偶们最终得到的m 和 n 就是最简分数的分母和分子 。最后,将他们以列表形式返回即可

相关推荐

  1. 每日一题 LCP30.魔塔游戏

    2024-04-24 22:38:04       46 阅读
  2. LCP 30. 魔塔游戏 - (LeetCode)

    2024-04-24 22:38:04       46 阅读
  3. 面试题02.07-链表相交

    2024-04-24 22:38:04       59 阅读
  4. (2024.06.14)

    2024-04-24 22:38:04       33 阅读
  5. (2024.06.12)

    2024-04-24 22:38:04       28 阅读
  6. (2024.06.18)

    2024-04-24 22:38:04       25 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-24 22:38:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-24 22:38:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-24 22:38:04       82 阅读
  4. Python语言-面向对象

    2024-04-24 22:38:04       91 阅读

热门阅读

  1. C++ typedef的使用

    2024-04-24 22:38:04       39 阅读
  2. 【QT教程】QML Web网络编程实践

    2024-04-24 22:38:04       31 阅读
  3. 蝴蝶书--ChatGPT基础科普

    2024-04-24 22:38:04       39 阅读
  4. 人工智能技术概述_1.人工智能的概念及发展历程

    2024-04-24 22:38:04       179 阅读
  5. ⽂件权限管理(上)

    2024-04-24 22:38:04       130 阅读
  6. TCP和UDP协议的区别和应用场景

    2024-04-24 22:38:04       107 阅读
  7. go 基础概念-变量和类型使用注意事项

    2024-04-24 22:38:04       41 阅读
  8. 全屏滚动插件——fullpage.js

    2024-04-24 22:38:04       99 阅读
  9. Ubuntu - 网络

    2024-04-24 22:38:04       29 阅读
  10. ubuntu22.04 安装并使用 DirBuster

    2024-04-24 22:38:04       37 阅读