当前位置: 首页 > news >正文

力扣每日一题 --- 972. 相等的有理数

 本题中的一个难点是怎么判断是否相等,如果自己写判断的话是不是很麻烦,判断整数之后再去判断小数部分,那么我们这题的另一个难点就要登场了,第一个难点让本题的情况变得复杂,第二个难点让本题变得很难想到怎么判断,这时就要用到我们的数据量了,他是说小数点最少为四位数,那么两个数的最大公倍数就是12,也就是最多小数位12位之后那么肯定为一个周期了,超过12位的肯定是在重复了,没必要,那么可以将原有的字符串中的括号内的扩充到12位,再用库里的函数转成浮点数进行判断就可以做出这题了,这题最大难点就是解决判断小数部分,第一个难点比较容易解决,转成浮点数判断就行,这样就变成一个简单题了

class Solution {
public:bool isRationalEqual(string s, string t) {auto decimal = [&](string x)->double{int l = x.find('('), r = x.find(')');if (l != -1 && r != -1){string left = x.substr(0, l);string mid = x.substr(l + 1, r - l - 1);string right = x.substr(r + 1);string str = left + mid + mid + mid + mid + mid + mid + mid + mid + mid + mid + mid+ mid+mid+mid+right;return atof(str.c_str());}else return atof(x.c_str());};return fabs(decimal(s) - decimal(t)) < 1e-8;}
};

http://www.lryc.cn/news/286327.html

相关文章:

  • EXECL 单元格字符串链接 CONCAT :应用:将一行数据转为json
  • 基于Python实现人脸识别相似度对比
  • CSS 蜡烛效果
  • 渗透测试之Kali如何利用CVE-2019-0708漏洞渗透Win7
  • Docker(二)安装指南:主要介绍在 Linux 、Windows 10 和 macOS 上的安装
  • LeetCode 410. 分割数组的最大值
  • linux shell脚本 基础认识
  • 一文(10图)了解Cornerstone3D核心概念(万字总结附导图)
  • 牛客网-----跳石头
  • 用ChatGPT教学、科研!大学与OpenAI合作
  • 运维平台介绍:视频智能运维平台的视频质量诊断分析和告警中心
  • GAMES104-现代游戏引擎:从入门到实践 - 物理引擎课程笔记汇总
  • 【linux】Xorg的工作原理
  • 02-docker下部署seata
  • 回归预测 | Matlab实现GA-APSO-MBP、GA-MBP、MBP、BP多输入单输出回归预测
  • 精益生产咨询背后的秘密:企业如何实现价值最大化
  • 创建SERVLET
  • python算法与数据结构(搜索算法和拓扑排序算法)---深度优先搜索
  • thinkphp5实战之phpstudy v8环境搭建,解决Not Found找不到路径问题
  • fastjson-BCEL不出网打法原理分析
  • 部署mysql主从同步,部署mysql数据读写分离结构+mycat2
  • 【最新!超详细C++入门】
  • 【Linux】【实战系列】10 分钟掌握日常开发中 Linux 网络处理相关命令
  • 语义分割常用评价指标
  • 从0开始学习C++ 第一课:你的第一个C++程序
  • Dubbo-admin监控中心
  • 216. 组合总和 III - 力扣(LeetCode)
  • LeetCode-题目整理【5】:O(1) 时间插入、删除和获取随机元素
  • 服务器感染了.wis[[Rast@airmail.cc]].wis勒索病毒,如何确保数据文件完整恢复?
  • ContentNegotiationManagerFactoryBean 内容协商