leetcode Two Sum hash
2014-12-11 17:00
246 查看
传送门:Two Sum
给定一个数组,求出其中和为target的两个数的位置,输入保证只有一组解
用map记录每个数出现的位置,然后对于数组中的数x,查找target - x是否出现过,出现则返回对应两个数的位置,否则记录x的出现的位置
用dictionary记录每个数的出现的位置,然后同上
给定一个数组,求出其中和为target的两个数的位置,输入保证只有一组解
用map记录每个数出现的位置,然后对于数组中的数x,查找target - x是否出现过,出现则返回对应两个数的位置,否则记录x的出现的位置
class Solution { public: vector<int> twoSum(vector<int> &numbers, int target) { vector <int> ans; map <int,int> p; for(int i = 0;i < numbers.size();i++) { int x = numbers[i]; int y = target - x; if(p[y] != 0) { ans.push_back(p[y]); ans.push_back(i+1); return ans; } else p[numbers[i]] = i + 1; } } };
用dictionary记录每个数的出现的位置,然后同上
class Solution: # @return a tuple, (index1, index2) def twoSum(self, num, target): p = {} cnt = 0 for x in num: y = target - x if p.has_key(y): return p[y],cnt+1 else: p[x] = cnt + 1 cnt = cnt + 1
相关文章推荐
- leetcode: two sum, hash search solution, java. O(n)
- LeetCode--Two Sum(排序or Hash)
- Leetcode_371_Sum of Two Integers
- Leetcode之Two Sum 题解
- leetcode--sum of two integers
- LeetCode 1. Two Sum Python Solution
- 【LeetCode】- Two Sum(两数相加)
- https://leetcode.com/problems/two-sum/
- Leetcode:Two Sum
- [leetcode笔记] Two-sum
- Leetcode 167 Two Sum II - Input array is sorted
- LeetCode 167 Two Sum II - Input array is sorted
- Leetcode 371 Sum of Two Integers
- LeetCode Two Sum 两数之和
- LeetCode解题思路之Two Sum
- Leetcode Two Sum
- Leetcode Two Sum
- LeetCode 1 Two Sum题解
- LeetCode:Two Sum III - Data structure design
- LeetCode371——Sum of Two Integers(不用+)