see-1. Two Sum

python版:

class Solution:
    def twoSum(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: List[int]
        """
        ans = list()
        for i,item in enumerate(nums):
            if (target-item) in nums and (i!=nums.index(target-item)):
                ans.append(i)
                ans.append(nums.index(target-item))
                break
        return ans

C++版:

class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        unordered_map<int, int> mp;
        int len = nums.size();
        vector<int> res(2);
        for (int i = 0; i < len; ++i) {
            if (mp.find(target - nums[i]) != mp.end()) {
                res[0] = mp[target - nums[i]];
                res[1] = i;
                break;
            } 
            else {
                mp[nums[i]] = i;
            }
        }
        mp.clear();
        return res;
    }
};

 

 


版权声明:本文为leetcodecl原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。