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

连分数是形如上图的分式。在本题中,所有系数都是大于等于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)。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/deep-dark-fraction
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

emm比赛的时候将一个长度的给忘记了,死活通过不了,后面才知道

将长度只有1的单独拿出来进行讨论即可。

class Solution {public static long gcb(long a, long b) {if (b == 0) {return a;}return gcb(b, a % b);}public int[] fraction(int[] cont) {int[] result = new int[2];if(cont.length == 1){return new int[]{cont[0],1};}result[0] = 1;result[1] = cont[cont.length - 1];for (int i = cont.length - 2; i > 0; i--) {long fenzi = result[1] * cont[i] + result[0];long fenmu = result[1];long gongyueshu = gcb(Math.max(fenzi,fenmu),Math.min(fenzi,fenmu));System.out.println(gongyueshu);result[0] = (int) (fenmu / gongyueshu);result[1] = (int) (fenzi / gongyueshu);}long fenzi = result[1] * cont[0] + result[0];long fenmu = result[1];long gongyueshu = gcb(Math.max(fenzi,fenmu),Math.min(fenzi,fenmu));result[1] = (int) (fenmu / gongyueshu);result[0] = (int) (fenzi / gongyueshu);return result;}
}

二、 分式化简(LCP2)相关推荐

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

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

  2. 分式化简结果要求_分式化简的结果有什么要求?

    分式的化简与求值 分式的有关概念和性质与分数相类似,例如,分式的分母的值不能是零,即分式只有在分母不等于零时才有意义;也像分数一样,分式的分子与分母都乘以(或除以)同一个不等于零的整式,分式的值不变, ...

  3. 分式化简结果要求_分式约分的结果是()

    分式加减乘除混合运算:分式的混合运算应先乘方,再乘除,最后算加减,有括号的先算括号内的,也可以把除法转化为乘法,再运用乘法运算. 分式化简:在数学上,化简是十分重要的概念,一些复杂难辨的式子,很多时候 ...

  4. C++学习之分式化简

    2021.12.1 C++学习之分式化简 C++学习之分式化简 题目来源于力扣 题目如下: 有一个同学在学习分式.他需要将一个连分数化成最简分数,你能帮助他吗? 连分数是形如上图的分式.在本题中,所有 ...

  5. 求解leetcode分式化简

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

  6. Leetcode 02.分式化简

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

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

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

  8. leetcode-Algorithms-LC-2 |分式化简

    原题 思路 如果想写出来统一的公式,那就是极其错误的思想. 可以每次都当成一个独立的 1/(A1+1/A2)的运算. 代码 package leetcode.LCP;public class Solu ...

  9. MATLAB符号运算之分式化简(基础)

    MATLAB常见的化简函数如下: pretty(f) 将符号表达式化简成与高等数学课本上显示符号表达式形式类似 collect(f) 合并符号表达式的同类项 horner(f) 将一般的符号表达式转换 ...

  10. leetcode LCP2 分式化简(C++)

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

最新文章

  1. R语言CRAN不包含的安装包下载并手动使用RStudio进行安装实战:以下载VRPM包及绘制彩色列线图为例
  2. 什么时候会执行viewDidLoad方法
  3. 关于STM32的变量定义
  4. WebRTC VideoEngine超详细教程(三)——集成X264编码和ffmpeg解码
  5. 第十二天Python学习记录
  6. implementation of CreateBindingContext
  7. 解决IDL检索COM类工厂中CLSID为{ }组件注册失败
  8. 【网站建设】简单一行代码,为网站开启深色模式支持
  9. 深度学习《VAE-GAN》
  10. python是一种汇编类型的语言_python全栈开发学习_day2_语言种类及变量
  11. 黑马博客——详细步骤(六)项目功能的实现之用户信息删除
  12. Spring boot 搭建
  13. 如何处理杀不掉的病毒
  14. 超详细JDK下载与安装步骤
  15. 史上最全的互联网思维精髓总结
  16. 一文说透所有期权基本交易策略
  17. 夏普(SHARP) LS050T1SX01 液晶屏接口定义
  18. python读取文件报错OSError: [Errno 22] Invalid argument: '\u202aC:\\Users\\yyqhk\\Desktop\\1.csv'
  19. innodb_io_capacity、innodb_io_capacity_max 的影响
  20. 大数据面试题汇总【有自己的和网上总结的】

热门文章

  1. 【OpenGL ES】着色语言GLSL
  2. 「第五章」点击劫持(ClickJacking)
  3. ​杠杆率是什么意思?外汇杠杆率高好还是低好?
  4. 洛谷 P1338 末日的传说 解题报告
  5. 推销员基础解法c++
  6. 评量子论的两本科普书籍
  7. 清理c盘爆满告急,C盘清理
  8. CSP2019滚粗记
  9. 新茶饮的尽头是瓶装水?
  10. ASEMI肖特基二极管SBT40100VDC正向压降温度系数