LeetCode:两数之和

题目描述:

这是一道用暴力解法,逻辑十分简单、清晰的一道题,直接遍历数target-num[i]就行

而官方给了第二种巧妙的解法:运用哈希表。此法可将时间复杂度从O(N^2)降到O(1)

其思路是对于每一个 x,我们首先查询哈希表中是否存在 target - x,然后将 x 插入到哈希表中,即可保证不会让 x 和自己匹配。

哈希表在C++中用的是无序图(unordered_map),java中用的是图(map),Python中用的是字典(dict)

C++源码:

相关推荐
Object~6 分钟前
【第七课】Rust所有权系统(三)
算法
西北大程序猿21 分钟前
C++ ──── set和map的模拟实现
开发语言·数据结构·c++
xxxxxmy24 分钟前
移动零
java·算法·力扣
sweetheart7-733 分钟前
LeetCode33. 搜索旋转排序数组(2024冬季每日一题 8)
c++·算法·二分查找·力扣·折半查找
XuanRanDev36 分钟前
【数据结构】`unordered_map` 和 `unordered_set` 的底层原理
数据结构
项目申报小狂人1 小时前
ESC算法/逃生:一种基于人群疏散行为的优化方法
算法
九圣残炎1 小时前
【从零开始的LeetCode-算法】3239. 最少翻转次数使二进制矩阵回文 I
java·算法·leetcode
环境感知2 小时前
基于MATLAB的激光雷达与相机联合标定原理及实现方法——以标定板为例
开发语言·人工智能·数码相机·算法·matlab
Romanticroom2 小时前
图论之最小生成树计数(最小生成树的应用)
算法·图论
SuhyOvO3 小时前
std::sort的底层原理(混合排序算法)
c++·算法·stl·排序算法