leetcode001 Two Sum
来源:互联网 发布:济南软件测试培训 编辑:程序博客网 时间:2024/05/29 23:23
一开始想用头部一个指针尾部一个指针的思路来做。后来看了网上的攻略才发现数组是乱序的。网上的思路比较巧妙,用了一个hashmap,其中key值为数组的value,value值为数据的index,查找的复杂度为O(N)
代码如下:
vector<int> twoSum(vector<int>& nums, int target) { vector<int> ret; map<int,int> m; for(int i=0;i<nums.size();i++) { int key = target - nums[i]; if(m.find(key) == m.end()){ m[nums[i]] = i; } else{ret.push_back(m[key]+1);ret.push_back(i+1);break; }}return ret;}
0 0
- leetcode001:Two Sum
- leetcode001 Two Sum
- Two Sum - leetcode001
- leetcode001——Two Sum
- Leetcode001-Two Sun
- leetcode001:3sum solution
- leetcode001-2Sum,3Sum
- LeetCode001
- leetcode001
- Two Sum
- Two Sum
- Two Sum
- two sum
- Two Sum
- Two Sum
- Two Sum
- Two Sum
- Two Sum
- 搭建JavaWeb项目时出现的问题
- Android自定义控件之日历控件
- LINUX DHCP学习
- Shiro简介
- iOS开发的就业形势怎么样
- leetcode001 Two Sum
- shell脚本学习 五
- Spring(六):Bean 的作用域
- linux内核设计与实现--内存寻址
- 面对对象思想5
- 关于java中除0的问题
- ubuntu14.04 LTS安装firefox最新版
- Conturbatio
- Java输出一个对象