LeetCode题解(0592):分数加减运算(Python)
题目:原题链接(中等)
标签:数学、字符串
解法 | 时间复杂度 | 空间复杂度 | 执行用时 |
---|---|---|---|
Ans 1 (Python) | O(N)O(N)O(N) | O(N)O(N)O(N) | 40ms (67.37%) |
Ans 2 (Python) | |||
Ans 3 (Python) |
解法一:
class Solution:def fractionAddition(self, expression: str) -> str:def analyse(ss):if ss[0] == "+":flag = 1else:flag = -1s1, s2 = ss[1:].split("/")n1, n2 = int(s1), int(s2)return (flag, n1, n2)if expression[0] != "-":expression = "+" + expressionlst = []now = ""for ch in expression:if ch == "+" or ch == "-":if now:lst.append(analyse(now))now = chelse:now += chlst.append(analyse(now))res1, res2 = 0, 2520for flag, n1, n2 in lst:res1 += flag * n1 * res2 // n2 # 1-10的最小公倍数=2520if res1 == 0:return "0/1"else:v = math.gcd(res1, res2)return str(res1 // v) + "/" + str(res2 // v)
LeetCode题解(0592):分数加减运算(Python)相关推荐
- 【leetcode】592.分数加减运算(python)
目录 一.题目描述 二.解题思路 2.1 查找 '/' 所在位置(第一思路) 2.2 利用python中分数表达Fraction函数 2.2.1 Fraction函数介绍 2.2.2 解题 2.3 类 ...
- LeetCode 0592. 分数加减运算:手把手分步のC++讲解
[LetMeFly]592.分数加减运算:手把手分步のC++讲解 力扣题目链接:https://leetcode.cn/problems/fraction-addition-and-subtracti ...
- LeetCode中等题之分数加减运算
题目 给定一个表示分数加减运算的字符串 expression ,你需要返回一个字符串形式的计算结果. 这个结果应该是不可约分的分数,即最简分数. 如果最终结果是一个整数,例如 2,你需要将它转换成分数 ...
- Leetcode 592. 分数加减运算 C++
Leetcode 592. 分数加减运算 题目 给定一个表示分数加减运算表达式的字符串,你需要返回一个字符串形式的计算结果. 这个结果应该是不可约分的分数,即最简分数. 如果最终结果是一个整数,例如 ...
- 592.分数加减运算 纯纯的数学题,Python 7行代码+详细思路分享!
592.分数加减运算 https://leetcode.cn/problems/fraction-addition-and-subtraction/solution/by-qingfengpython ...
- LeetCode 592. 分数加减运算(字符串+最大公约数)
1. 题目 给定一个表示分数加减运算表达式的字符串,你需要返回一个字符串形式的计算结果. 这个结果应该是不可约分的分数,即最简分数. 如果最终结果是一个整数,例如 2,你需要将它转换成分数形式,其分母 ...
- 图解LeetCode——592. 分数加减运算(难度:中等)
一.题目 给定一个表示分数加减运算的字符串 expression,你需要返回一个字符串形式的计算结果. 这个结果应该是不可约分的分数,即:最简分数. 如果最终结果是一个整数,例如 2,你需要将它转换成 ...
- JAVA程序设计:分数加减运算(LeetCode:592)
给定一个表示分数加减运算表达式的字符串,你需要返回一个字符串形式的计算结果. 这个结果应该是不可约分的分数,即最简分数. 如果最终结果是一个整数,例如 2,你需要将它转换成分数形式,其分母为 1.所以 ...
- 复数乘法、分数加减运算----2023/5/1
复数乘法----2023/5/1 复数 可以用字符串表示,遵循 "实部+虚部i" 的形式,并满足下述条件: 实部 是一个整数,取值范围是 [-100, 100] 虚部 也是一个整数 ...
最新文章
- 【人尽其才】颠覆思维☞合理分配工作
- pandas使用groupby函数计算dataframe数据中每个分组的N个数值的滚动加和(rolling sum)、例如,计算某公司的多个店铺每N天(5天)的滚动销售额加和
- html中图片只是一个小图标,如何用css显示一个图片中多个小图标?
- CRM 2016解读
- combus通讯_Vue兄弟组件通信Bus传值--小案例
- C++/C学习笔记(九)
- lucene-SpanNotQuery和SpanOrQuery交迭与全局跨度
- 数据采集:如何自动化采集数据?
- Matlab 绘制柱状图并标注对应数字值
- 希捷、西数、日立4TB硬盘大乱斗
- 【POJ 3580】 SuperMemo
- 电影赏析 002《毒战》
- layert弹出层关于layer.open,打开页面时的用法
- go语言 func函数
- proteus学习之安装最小单片机系统
- CSS3选择器--结构性伪类选择器
- 微信小程序电商实战-首页(上)
- python脚本自动化赚钱系统_python实现自动化上线脚本的示例
- 编程之余—80后夫妻公约
- 全国行政分区明细表(省市区比较2010年左右)(第一部分)