Leetcode 02.分式化简
LCP 02. 分式化简
难度简单
有一个同学在学习分式。他需要将一个连分数化成最简分数,你能帮助他吗?
连分数是形如上图的分式。在本题中,所有系数都是大于等于0的整数。
输入的cont
代表连分数的系数(cont[0]
代表上图的a0
,以此类推)。返回一个长度为2的数组[n, m]
,使得连分数的值等于n / m
,且n, m
最大公约数为1。
解题思路
分式化简题目,首先想到的是通过一步一步计算,化简,寻找每一次变换,分子与分母之间的关系。
假如只有四项,分别是,根据题目中的公式从最底项开始算,得到以下结果:(a记录分式的分母,b记录分式的分子)
根据以上规律,得出结论
temp=a;
a=b;
b=temp+num[i]*b;
class Solution {public int gcd(int a,int b){return b==0?a:gcd(b,a%b);}public int[] fraction(int[] cont) {int n=cont.length;int res[]=new int[2];if(n==1){res[1]=1;res[0]=cont[0];return res;}int a=cont[n-1];//最后一个数字,保存分母int b=cont[n-2]*a+1;//保存分子,int fact;if(n==2) {fact=gcd(cont[0]*cont[1]+1,cont[1]);res[0]=(cont[0]*cont[1]+1)/fact;res[1]= cont[1]/fact;return res;}int i=n-3;while(i>=0){ int temp;temp=a;a=b;b=temp+cont[i]*b;fact=gcd(b,a);if(fact!=1){a=a/fact;b=b/fact;}i--;} fact=gcd(b,a);b=b/fact;a=a/fact;res[0]=(int)b;res[1]=(int)a;return res; }
}
Leetcode 02.分式化简相关推荐
- LCP 02. 分式化简-数学推导
LCP 02. 分式化简-数学推导 有一个同学在学习分式.他需要将一个连分数化成最简分数,你能帮助他吗? 连分数是形如上图的分式.在本题中,所有系数都是大于等于0的整数. 输入的cont代表连分数的系 ...
- 【Python】【难度:简单】Leetcode LCP 02. 分式化简
有一个同学在学习分式.他需要将一个连分数化成最简分数,你能帮助他吗? 连分数是形如上图的分式.在本题中,所有系数都是大于等于0的整数. 输入的cont代表连分数的系数(cont[0]代表上图的a0,以 ...
- #力扣 LeetCode LCP 02. 分式化简 @FDDLC
题目描述: https://leetcode-cn.com/problems/deep-dark-fraction/ Java代码: class Solution { //所有系数都是大于等于0的整数 ...
- Leetcode LCP2.分式化简
题目描述 有一个同学在学习分式.他需要将一个连分数化成最简分数,你能帮助他吗? 连分数是形如上图的分式.在本题中,所有系数都是大于等于0的整数. 输入的cont代表连分数的系数(cont[0]代表上图 ...
- LeetCode-Algorithms-[Easy]LCP 02. 分式化简
有一个同学在学习分式.他需要将一个连分数化成最简分数,你能帮助他吗? 连分数是形如上图的分式.在本题中,所有系数都是大于等于0的整数. 输入的cont代表连分数的系数(cont[0]代表上图的a0,以 ...
- 【简单】LCP 02. 分式化简
[题目] 有一个同学在学习分式,他需要将一个连分数化成最简分数,你能帮助他吗? 连分数是形如上图的分式,在本题中,所有系数都是大于等于0的整数.输入的cont代表连分数的系数(cont[0]代表上图的 ...
- leetcode LCP2 分式化简(C++)
有一个同学在学习分式.他需要将一个连分数化成最简分数,你能帮助他吗? 连分数是形如上图的分式.在本题中,所有系数都是大于等于0的整数. 输入的cont代表连分数的系数(cont[0]代表上图的a0,以 ...
- 力扣杯-竞赛合集-LCP 02. 分式化简
有一个同学在学习分式.他需要将一个连分数化成最简分数,你能帮助他吗? 连分数是形如上图的分式.在本题中,所有系数都是大于等于0的整数. 输入的cont代表连分数的系数(cont[0]代表上图的a0,以 ...
- leetcode lcp2 分式化简
这道题用python中的Fraction模块就可以解决,关于它的用法可以参照如下: https://blog.csdn.net/jianxia1956/article/details/52727447 ...
最新文章
- mybatis中 Executor的设计与实现
- 0 有符号和无符号整型数字
- 隐私与AI兼得,蚂蚁金服是如何做到的?
- opencv为matlab,OpenCV与matlab部分函数的对应关系(转)
- VS 2019 for Mac 8.1 正式版和 8.2 预览版发布
- 我与布拉德利(Todd Bradley)聊天
- oracle 表复制 long,关于oracle的数据库的数据Long和Number的转化字段
- Leetcode392.判断子序列
- TIBCO Spotfire 入门指南
- 我的Android进阶之旅------android中一些特殊字符(如:←↑→↓等箭头符号)的Unicode码值
- webflux之reactor-Subscriber
- 计算机作业封面,西南交通大学离线作业封面-2016
- iOS Xcode提交IPA时收到苹果邮件ITMS-90338: Non-public API usage
- python学习(24) 使用Xpath解析并抓取美女图片
- UESTC论坛-清水河畔自动登陆/重复发贴/安全性分析
- Seq2Seq模型及Attention机制
- 面试官:为啥要axios 的二次封装呢 及其使用是干啥的
- 数通技术-网络层协议及IP编址
- 51单片机4G模块通信(EC03-DNC4G)
- Java游戏碟中谍,煮 Retrofit 论 RxJava(一)