classSolution { public: vector<int> twoSum(vector<int>& nums, int target){ unordered_map<int, int> lookup; for (int i = 0; i < nums.size(); ++i) { if (lookup.count(target - nums[i])) { return {lookup[target - nums[i]], i}; } lookup[nums[i]] = i; } return {}; } };
Python
1 2 3 4 5 6 7 8 9 10 11 12 13
classSolution(object): deftwoSum(self, nums, target): """ :type nums: List[int] :type target: int :rtype: List[int] """ lookup = {} for i in range(len(nums)): if (target-nums[i]) in lookup: return (lookup[target-nums[i]], i) else: lookup[nums[i]] = i