【题目】LCP 02. 分式化简

有一个同学在学习分式。他需要将一个连分数化成最简分数,你能帮助他吗?

连分数是形如上图的分式。在本题中,所有系数都是大于等于0的整数。
输入的cont代表连分数的系数(cont[0]代表上图的a0,以此类推)。返回一个长度为2的数组[n, m],使得连分数的值等于n / m,且n, m最大公约数为1。

示例 1:

输入:cont = [3, 2, 0, 2]
输出:[13, 4]
解释:原连分数等价于3 + (1 / (2 + (1 / (0 + 1 / 2))))。注意[26, 8], [-13, -4]都不是正确答案。

示例 2:

输入:cont = [0, 0, 3]
输出:[3, 1]
解释:如果答案是整数,令分母为1即可。

限制:
cont[i] >= 0
1 <= cont的长度 <= 10
cont最后一个元素不等于0
答案的n, m的取值都能被32位int整型存下(即不超过2 ^ 31 - 1)。

【解题思路1】倒序遍历

class Solution {public int[] fraction(int[] cont) {int denominator = cont[cont.length-1], numerator = 1;int addend = 1;for(int i = cont.length - 2; i >= 0; i--){numerator = denominator; //翻转后分子变分母denominator = cont[i] * denominator + addend; //求出通分后的分子,反转后变为分母addend = numerator; //记录翻转后的分子以便下一次通分}return new int[]{denominator, numerator};}
}

【解题思路2】递归 - 正序

class Solution {private int[] recursive(int[] count, int index) {if (index == count.length - 1) {return new int[]{count[index], 1};}int[] nextRes = recursive(count, index+1);return new int[]{count[index] * nextRes[0] + nextRes[1], nextRes[0]};}public int[] fraction(int[] cont) {return recursive(cont, 0);}
}

leetcode LCP 02. 分式化简相关推荐

  1. 【Python】【难度:简单】Leetcode LCP 02. 分式化简

    有一个同学在学习分式.他需要将一个连分数化成最简分数,你能帮助他吗? 连分数是形如上图的分式.在本题中,所有系数都是大于等于0的整数. 输入的cont代表连分数的系数(cont[0]代表上图的a0,以 ...

  2. #力扣 LeetCode LCP 02. 分式化简 @FDDLC

    题目描述: https://leetcode-cn.com/problems/deep-dark-fraction/ Java代码: class Solution { //所有系数都是大于等于0的整数 ...

  3. LCP 02. 分式化简-数学推导

    LCP 02. 分式化简-数学推导 有一个同学在学习分式.他需要将一个连分数化成最简分数,你能帮助他吗? 连分数是形如上图的分式.在本题中,所有系数都是大于等于0的整数. 输入的cont代表连分数的系 ...

  4. LeetCode-Algorithms-[Easy]LCP 02. 分式化简

    有一个同学在学习分式.他需要将一个连分数化成最简分数,你能帮助他吗? 连分数是形如上图的分式.在本题中,所有系数都是大于等于0的整数. 输入的cont代表连分数的系数(cont[0]代表上图的a0,以 ...

  5. 【简单】LCP 02. 分式化简

    [题目] 有一个同学在学习分式,他需要将一个连分数化成最简分数,你能帮助他吗? 连分数是形如上图的分式,在本题中,所有系数都是大于等于0的整数.输入的cont代表连分数的系数(cont[0]代表上图的 ...

  6. 力扣杯-竞赛合集-LCP 02. 分式化简

    有一个同学在学习分式.他需要将一个连分数化成最简分数,你能帮助他吗? 连分数是形如上图的分式.在本题中,所有系数都是大于等于0的整数. 输入的cont代表连分数的系数(cont[0]代表上图的a0,以 ...

  7. LCP 02. 分式化简

    非递归: class Solution {public:vector<int> fraction(vector<int>& cont) {int high=1,low= ...

  8. Leetcode 02.分式化简

    LCP 02. 分式化简 难度简单 有一个同学在学习分式.他需要将一个连分数化成最简分数,你能帮助他吗? 连分数是形如上图的分式.在本题中,所有系数都是大于等于0的整数. 输入的cont代表连分数的系 ...

  9. 求解leetcode分式化简

    #include <stdio.h>//leetcode 分式化简int arr[2]; int* fraction(int* cont, int contSize, int* retur ...

  10. 分式化简结果要求_初二数学期末复习,分式考点归纳,考点较多,解答要谨慎...

    期末考试马上就要来临了,作为初二的学生,分式这部分的内容考试中考点还是比较多的,选择题,填空题,解答题都会有题目出现,这部分的考点主要有分式有无意义的条件,分式值为0的条件,分式的概念,分式化简求值类 ...

最新文章

  1. 8 基于管道的持久化存储 scrapy
  2. redis 服务器/客户端安装与配置
  3. ISATAP隧道技术及实践
  4. 容易被误读的IOSTAT
  5. 行业新闻 | 阿里发力知识图谱研究 悉数囊括顶尖学者探讨合作
  6. Ts_半分查找猜数字游戏(初始版),
  7. 数据结构(十七)最小生成树
  8. php数组排序语言,php数组排序函数有哪些
  9. linux shell let命令,linux shell let, expr 命令详解
  10. 用python做思维导图软件_两款好用的思维导图工具详细介绍,Xmind和幕布
  11. Smartbi制作报表教程:热销车型分类排名总表
  12. Gradle编译时,assets文件未打包进apk
  13. oCPC实践录 | 成本优化策略之eCPC(3)
  14. index.php被修改,WordPress博客程序index.php 主页文件频繁被修改解决记录(已解决) - 勤勤学长...
  15. 奔驰c260语言设置方法图解,奔驰C260L灯光使用方法,C260L灯光开关图解说明
  16. python打包加密工具:Pyinstaller和Nuitka
  17. webstorm直接运行js
  18. 内存系列三:内存初始化浅析
  19. 关于电阻的介绍,以及两线法和四线法测电阻的原理
  20. 如何使用Categories

热门文章

  1. 《人人都在说谎:赤裸裸的数据真相》读书笔记1
  2. 作为程序员上班的第一天
  3. 超级计算机 计算化学,计算化学软件使用经验-超算中心.PDF
  4. 自动化学科前沿讲座分享,作业,自动化与人工智能
  5. 如何对关键词密度设置
  6. Winform中HelpButton的用法总结
  7. mysql-sql操作
  8. 浏览器-IE主页被篡改后修复
  9. 基于DLP4500的结构光3DScan应用手册
  10. 到了这个点不建议“割肉”