「每日LeetCode」2021年6月6日
本文最后更新于:2023年3月19日 晚上
LCP 02. 分式化简
LCP 02. 分式化简
有一个同学在学习分式。他需要将一个连分数化成最简分数,你能帮助他吗?
连分数是形如上图的分式。在本题中,所有系数都是大于等于 0 的整数。
输入的cont代表连分数的系数(cont[0]代表上图的a,以此类推)。返回一个长度为 2 的数组[n, m],使得连分数的值等于n / m,且n, m最大公约数为 1。
示例 1:
1 | |
示例 2:
1 | |
限制:
cont[i] >= 01 <= cont的长度 <= 10cont最后一个元素不等于 0- 答案的
n, m的取值都能被 32 位 int 整型存下(即不超过2 ^ 31 - 1)。
思路
从最后开始取两项,将公式 1/ (a+(c/b)),只看分母部分,化简为(a*b+c)/b,分别存储每一步的分子分母到 prev 中,直到计算完整个式子返回。
解答
1 | |
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!