news 2026/5/26 5:03:52

12.15 - 两数之和 两个浮点类型不可以直接判断相等以及解决方案

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
12.15 - 两数之和 两个浮点类型不可以直接判断相等以及解决方案

目录

1.两数之和

a.核心思想

b.思路

c.步骤

2.两个浮点类型不可以直接判断相等以及解决方案

a.例子1

b.例子2

c.解决方案


1.两数之和

1. 两数之和 - 力扣(LeetCode)https://leetcode.cn/problems/two-sum/description/

class Solution { public: vector<int> twoSum(vector<int>& nums, int target) { // 用于存储数值及其索引的哈希表 unordered_map<int, int> mmap; for(int i = 0; i < nums.size(); i++) { // 计算目标值与当前值的差值 int num = target - nums[i]; if(mmap.find(num) != mmap.end()) { // 如果差值存在于哈希表中,返回结果 return {mmap[num], i}; } // 将当前数值及其索引存入哈希表 mmap[nums[i]] = i; } return {}; } };

a.核心思想

利用哈希表(或字典)存储数组元素值及其下标,通过一次遍历快速查找是否存在满足两数之和为目标值的另一个元素。

b.思路

遍历数组,对于每个元素,计算目标值与该元素的差值,查看差值是否在哈希表中,若在则找到答案;若不在则将当前元素值及其下标存入哈希表,继续遍历。

c.步骤

① 初始化一个空的哈希表。

② 遍历数组nums,对于每个元素nums[i]

  • 计算complement = target - nums[i]

  • 检查complement是否在哈希表中,若在则返回[hash[complement], i]

  • 若不在,将nums[i]作为键,i作为值存入哈希表。

③ 遍历结束若未找到则返回空数组(题目假设有答案,此步可省略异常处理)。

2.两个浮点类型不可以直接判断相等以及解决方案

a.例子1

0.1 + 0.2 == 0.3→ 实际计算可能为0.30000000000000004(二进制浮点表示误差),直接判断不等。

b.例子2

1.0 / 3.0 * 3.0 == 1.0→ 除法后乘法可能因舍入误差导致不等于1。

c.解决方案

用误差范围判断,如abs(a - b) < 1e-9(绝对误差)或abs(a - b) / max(|a|, |b|) < 1e-9(相对误差)。

希望这些内容对大家有所帮助!

感谢大家的三连支持!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/24 17:50:10

抖音批量下载神器终极指南:一键搞定海量视频采集!

抖音批量下载神器终极指南&#xff1a;一键搞定海量视频采集&#xff01; 【免费下载链接】douyinhelper 抖音批量下载助手 项目地址: https://gitcode.com/gh_mirrors/do/douyinhelper 还在为手动保存抖音视频而头疼吗&#xff1f;这款强大的抖音批量下载工具让你轻松实…

作者头像 李华
网站建设 2026/5/25 5:40:10

智能游戏助手终极指南:完全解放双手的自动剧情跳过解决方案

智能游戏助手终极指南&#xff1a;完全解放双手的自动剧情跳过解决方案 【免费下载链接】better-wuthering-waves &#x1f30a;更好的鸣潮 - 后台自动剧情 项目地址: https://gitcode.com/gh_mirrors/be/better-wuthering-waves 在当今快节奏的游戏环境中&#xff0c;重…

作者头像 李华
网站建设 2026/5/24 18:14:00

Py-ART完整指南:5分钟掌握气象雷达数据处理的核心技巧

Py-ART完整指南&#xff1a;5分钟掌握气象雷达数据处理的核心技巧 【免费下载链接】pyart The Python-ARM Radar Toolkit. A data model driven interactive toolkit for working with weather radar data. 项目地址: https://gitcode.com/gh_mirrors/py/pyart 想要快速…

作者头像 李华
网站建设 2026/5/25 5:42:09

AutoClicker自动化操作终极指南:三步实现高效鼠标点击

AutoClicker自动化操作终极指南&#xff1a;三步实现高效鼠标点击 【免费下载链接】AutoClicker AutoClicker is a useful simple tool for automating mouse clicks. 项目地址: https://gitcode.com/gh_mirrors/au/AutoClicker 还在为重复单调的鼠标点击任务消耗宝贵时…

作者头像 李华
网站建设 2026/5/23 13:47:58

HuggingFace镜像同步Qwen-Image-Edit-2509并提供Inference API

HuggingFace镜像同步Qwen-Image-Edit-2509并提供Inference API 在电商运营的日常工作中&#xff0c;设计师常常需要为同一款商品生成多个版本的展示图&#xff1a;更换背景、调整颜色、替换配件&#xff0c;甚至适配不同市场的语言文案。过去&#xff0c;这些任务依赖Photoshop…

作者头像 李华
网站建设 2026/5/25 5:56:50

1、深入探索Linux与USB的融合:技术、应用与发展前景

深入探索Linux与USB的融合:技术、应用与发展前景 1. USB与Linux的重要性概述 通用串行总线(USB)在PC/用户与设备连接领域占据着重要地位。超过60亿台设备(http://www.intel.com/technology/usb/ )使用USB连接到主机,涵盖了从相机、手机等消费设备到路由器、医疗设备和汽…

作者头像 李华