LeetCode 1 Two Sum(unordered_map和map的区别)
来源:互联网 发布:开源python微信公众号 编辑:程序博客网 时间:2024/04/29 12:14
题意:给出一个序列,并给出一个目标值,求出两个元素和为目标值的下标。
思路:stl里有一个容器unordered_map,内部是哈希实现的,有了这个容器可以不用手写哈希,复杂度O(n)。
下面是对map和unordered_map的分析:
首先map比较熟悉,它的内部是红黑树实现的,每次操作的复杂度为稳定的O(logn),unordered_map内部是哈希表实现的,在冲突少的情况下单次操作复杂度为O(1)。
class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { map<int, int> mp; vextor<int> ans; for (int i = 0; i < nums.size(); i++) { if (mp[target-nums[i]] != 0) { ans.push_back(mp[target-nums[i]]); ans.push_back(i); break; } mp[nums[i]] = i; } return ans; }};
0 0
- LeetCode 1 Two Sum(unordered_map和map的区别)
- 【leetcode】Two Sum(unordered_map的使用)
- [Leetcode] 1.Two Sum(unordered_map)
- LeetCode 599. Minimum Index Sum of Two Lists(map,unordered_map)
- unordered_map和map的区别
- STL map和unordered_map的区别
- unordered_map 与 map 的区别和联系
- 【Leetcode】 1.two sum unordered_map 关联容器
- unordered_map与map的区别!
- 【C++】unordered_map,unordered_set,map和set的用法和区别
- c++中map和unordered_map区别
- LeetCode(1)Two Sum
- LeetCode(1)Two Sum
- leetcode(1) - Two Sum
- leetcode(1)Two Sum
- map与unordered_map的区别与选择
- c++中map与unordered_map的区别
- map与unordered_map的区别与联系
- Go语言核心之美 3.1-数组
- nginx 301 302跳转配置方法 与 总结
- 数据库导入
- python 学习第三天
- 检测进程是否存在
- LeetCode 1 Two Sum(unordered_map和map的区别)
- 设计模式实践报告 * 目录
- SVN常用命令
- hdoj 2277 Change the ball
- Emacs学习笔记(2)——minGW安装、Emacs调用minGW及error: CreateProcess: No such file or directory
- iOS学习--老菜鸟的storyboard学习之路
- 002.Plus One
- 深入理解js构造函数
- AFNetworking 3.0迁移指南