哈希表(Hash Table)是一种用于存储键值对的数据结构,使用哈希表可以提高数据的访问效率和快速的查找数据。哈希表的实现基于一个散列表,使用哈希函数将关键字映射到表中的一个位置来访问记录。哈希表的插入、删除和查找等操作的时间复杂度都是O(1)的,非常高效。
以下是使用哈希表解决'两数之和”问题的示例代码:
class Solution {
public:
vector twoSum(vector& nums, int target) {
vector res;
unordered_map record;
for (int i = 0; i < nums.size(); i++) {
int complement = target - nums[i];
if (record.find(complement) != record.end()) {
res.push_back(record[complement]);
res.push_back(i);
return res;
}
record[nums[i]] = i;
}
return res;
}
};
以上代码通过使用哈希表来快速查找满足条件的数字,时间复杂度为O(n)。