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] 虚部 也是一个整数 ...
最新文章
- 中批注转成pdf看不到_超实用的PDF在线转换器,你绝对用的到~
- Web Service 开发工具 gSOAP 简介
- Redis学习笔记(八)——持久化
- win10如何修改IP地址
- linux 跨服务器备份,用BackupPC架设Linux跨平台备份服务器
- IDEA编译运行Springboot+vue项目卡死,一直building和copying resources
- Yann LeCun遭三位UC伯克利教授连怼:双重职位多重危害
- Ubuntu安装与配置
- 几种java反编译软件的安装以及使用总结
- axure中出现小手_Axure高保真滑动拼图解锁实例教程
- 论文笔记:主干网络——SENet
- 货郎担问题(TSP问题)
- fusioncharts问题汇总
- 【iOS】设计尺寸规范(更新至iPhone 11、iPhone 11 Pro、iPhone 11 Pro Max)
- 【日常学习】【数学】codevs3625 士兵站队问题题解
- 图片压缩怎么在线处理?如何压缩图片大小kb?
- 三级管的三种工作状态
- matlab后退和前进的快捷键,MATLAB 常用操作命令和快捷键
- NO.73——《人工智能·一种现代方法》Agent学习笔记
- 基于Arduino的制作——智能桌面移动风扇灯