[LeetCode]1.Two Sum

    xiaoxiao2022-07-12  152

     

    给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1]

    解决方案:

     使用map容器,遍历数组如果target-nums[i]在容器中,则返回相应结果,否则向容器添加元素

    vector<int> twoSum(const vector<int> &nums, int target) { unordered_map<int, int> map; vector<int> res; if (nums.size() <= 1) { return res; } for (int i = 0; i < nums.size(); i++) { int t = target - nums[i]; if (map.count(t)) { res.push_back(i); res.push_back(nums[t]); } else { map[nums[i]] = i; } } return res; }

     

    最新回复(0)