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

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(相对误差)。

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

感谢大家的三连支持!

http://www.jsqmd.com/news/95725/

相关文章:

  • PlayCover终极指南:在Apple Silicon Mac上运行iOS游戏的完整教程
  • 阴阳师自动化脚本完整指南:从新手到高手的游戏助手使用教程
  • AI驱动音乐创作全流程:从ACE-Step镜像部署到Token商业化运营
  • OpenWrt磁盘管理终极指南:5分钟掌握luci-app-diskman完整配置方案
  • 中国科学技术大学论文模板参考文献格式更新:快速配置指南与问题排查
  • C++扩展Python性能瓶颈:加速ACE-Step音频解码过程
  • Wan2.2-T2V-5B如何应对版权争议?内容过滤机制解析
  • HunyuanVideo-Foley与MoFos内容平台结合?探讨合法应用场景边界
  • 中国科学技术大学ustcthesis模板参考文献格式最新完整指南:快速解决本科论文排版问题
  • MOOTDX股票数据分析实战指南:从入门到精通掌握通达信数据接口
  • 10种创意会议开场方式,让每个参与者都全情投入
  • Windows触控板终极优化:三指拖拽完整配置指南
  • Ascend C内存越界访问的“侦探术“:从错误地址到Buffer/Tensor安全
  • B站视频下载神器BiliDownloader:你的专属离线收藏管家
  • RTL8852BE Linux驱动终极解决方案:告别Wi-Fi连接问题的完整指南
  • 终极歌词管理指南:ZonyLrcToolsX 让音乐收藏更完整
  • HuggingFace镜像同步Qwen-Image-Edit-2509并提供Inference API
  • Wan2.2-T2V-5B和HEVC视频扩展结合:实现高效编码与生成一体化
  • VokoscreenNG终极指南:快速掌握Linux专业屏幕录制技巧
  • 3分钟搞定视频色彩优化:LosslessCut让你秒变调色达人!
  • Wan2.2-T2V-5B实测:480P视频生成的性能与精度权衡分析
  • Vue3甘特图终极指南:XGantt一键配置与高效使用技巧
  • 高效会议管理:3步告别冗长低效,拯救你的会议时间
  • 17、深入探究Linux USB调试与测试方法
  • 18、Linux USB 设备测试与回归工具详解
  • HunyuanVideo-Foley实战教程:使用Git下载并运行视频音效AI
  • 3步解决电子书管理难题:Koodo Reader高效阅读完全指南
  • LangChain+Qwen-Image-Edit-2509构建多模态AI自动化内容系统
  • 火山引擎推出Qwen-Image-Edit-2509专属GPU算力套餐
  • 16、Linux USB开发与调试全解析