日野弥生:勉強しよう

LeetCode 1 - 两数之和

发表于2024年12月26日

#数组 #哈希表

暴力求解法的时间复杂度自然是O(n^2),但是因为本题强调的两数的和与目标值相等,可以考虑哈希结构去除掉一次遍历。利用map把目标值和当前值的索引作为key和value

class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
       std::map<int,int> targetMap;
       for(int i=0;i<nums.size();i++)
       {
        if(targetMap.count(nums[i])>0)
            return {i,targetMap[nums[i]]};

        targetMap.insert({target-nums[i], i});
       }
       return {};
    }
};

フラッシュタブ:LeetCode

题目链接:https://leetcode.cn/problems/two-sum/

上一篇

LeetCode 151 - 反转字符串中的单词

下一篇

LeetCode 9 - 回文数