【leetcode】LCP 2. 分式化简
题目如下:
有一个同学在学习分式。他需要将一个连分数化成最简分数,你能帮助他吗?
连分数是形如上图的分式。在本题中,所有系数都是大于等于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)。
解题思路:题目不难,用两个变量分别记录分子和分母的值,从后往前计算cont,每次计算完成后交换分子和分母的值即可。
代码如下:
class Solution(object):
def fraction(self, cont):
"""
:type cont: List[int]
:rtype: List[int]
"""
rc = cont[::-1]
numerator = rc[0]
denominator = 1
for i in range(1,len(rc)):
numerator, denominator = denominator, numerator
numerator += rc[i] * denominator
return [numerator,denominator]
【leetcode】LCP 2. 分式化简的更多相关文章
- HDU.2503 a/b + c/d (分式化简)
		
a/b + c/d Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
 - LCP 2-分式化简
		
LCP 2-分式化简 public int[] fraction(int[] cont) { int len = cont.length; int[] d = new int[]{cont[len - ...
 - YZOI Easy Round 2_化简(simplify.c/cpp/pas)
		
Description 给定一个多项式,输出其化简后的结果. Input 一个字符串,只含有关于字母x 的多项式,不含括号与分式,没有多余的空格. Output 一个字符串,化简后的多项式,按照次数从 ...
 - 线性可分SVM中线性规划问题的化简
		
在网上找了许多关于线性可分SVM化简的过程,但似乎都不是很详细,所以凭借自己的理解去详解了一下. 线性可分SVM的目标是求得一个超平面(其实就是求w和b),在其在对目标样本的划分正确的基础上,使得到该 ...
 - NOIP201402比例化简
		
比例化简 [问题描述]在社交媒体上,经常会看到针对某一个观点同意与否的民意调查以及结果.例如,对某一观点表示支持的有 1498 人,反对的有 902 人,那么赞同与反对的比例可以简单的记为1498:9 ...
 - 【mongoDB高级篇②】大数据聚集运算之mapReduce(映射化简)
		
简述 mapReduce从字面上来理解就是两个过程:map映射以及reduce化简.是一种比较先进的大数据处理方法,其难度不高,从性能上来说属于比较暴力的(通过N台服务器同时来计算),但相较于grou ...
 - 化简复杂逻辑,编写紧凑的if条件语句
		
当业务逻辑很复杂,涉及多个条件的真假,或者多种条件下都会执行同一动作时,如何编写紧凑的if语句呢?本文借由一个实际例子,利用数学的布尔逻辑整理条件,最终产生if语句. 问题 在<X3 重聚> ...
 - 《Linear Algebra and Its Application》-chaper1-行化简法解决线性方程组
		
在实际生产生活中,需要我们解大量的线性方程组,例如是有探测.线性规划.电路等,这里我们便从理论角度建立一套解决线性方程组的体系. 线性方程组: 形如下面形式的方程组称为线性方程组. 回想起解决二元线性 ...
 - poj3708:函数式化简+高精度进制转换+同余方程组
		
题目大意 给定一个函数 找出满足条件 等于 k 的最小的x m,k,d已知 其中 m,k 很大需要使用高精度存储 思路: 对 函数f(m)进行化简 ,令t=ceil( log(d,m) ) 可以得 ...
 
随机推荐
- (转)Linux中显示空闲内存空间的free命令的基本用法
			
这篇文章主要介绍了Linux系统中free命令的基本用法,用free命令查看内存空余信息是Linux系统入门学习中的基础知识,需要的朋友可以参考下 free 命令显示系统使用和空闲的内存情况,包括 ...
 - java_实现一个类只能声明一个对象
			
public class StaticDemo { public int a=10; private static StaticDemo s= new StaticDemo(); private St ...
 - Ubuntu 系统安装 Docker
			
安装 Docker CE 有多种方法,下面是最简单的通过Docker仓库的安装方法,其他方法参见官方文档. 设置仓库 刷新软件包 sudo apt-get update 安装必要的软件包 sudo a ...
 - 百度地图 echarts tooltip属性 经纬度坐标不显示
			
中国地图.散点图结合点击后显示当前城市数量 不显示经纬度坐标 echarts.appMap = function (id, opt) { // 实例 var chart = this.init(doc ...
 - C++ 标准库字符串类使用
			
标准库中的字符串类 C++语言直接支持C语言所有概念. C++中没有原生的字符串类型. 由于C++中没有原生的字符串类型,C++标准库提供了string类型. 1.string 直接支持字符串链接 2 ...
 - oa_mvc_easyui_项目搭建及登录页面验证码(1)
			
1.空项目的搭建,三层的搭建(各层之中的引用) webapp:bll,model,common bll:dal,model dal:model 2.SQL表 ItcastDb:T_UserInfo,T ...
 - EJS学习(四)之语法规则下
			
模版函数 在 EJS 之外,提供了一些额外的模版函数来简化我们的一些工作 GIT:https://github.com/willerce/tmt-ejs-helper css()方法 快速的引用 CS ...
 - EJS学习(三)之语法规则中
			
⚠️实例均结合node,也就是AMD规范版本 ejs中使用render()表示渲染文本 接收三个参数:模版字符串.data.options,返回一个字符串 const ejs = require('e ...
 - O017、部署DevStack
			
参考https://www.cnblogs.com/CloudMan6/p/5357273.html 本节按照以下步骤部署 DevStack 实验环境,包括控制节点和计算节点.详细的部署和配置可以 ...
 - centos配置postfix邮件服务
			
1.环境初始化 [root@mail ~]# rpm -q centos-release //查看系统版本 centos-release-7-5.1804.el7.centos.x86_64 [roo ...
 
			
		