LeetCode 热题 HOT 100 - 2-两数之和

两数之和

LeetCode 热题 HOT 100 - 2-两数之和_第1张图片

想要我vscode的主题还有在vscode上刷leetcode可以看我之前的博客

1.题解

暴力解法相信大家都知道 ,但是超时,所以我用了一个哈希表来做,时间复杂度降维就可以了

unordered_map的底层实现就是哈希表(哈希表不清楚的小伙伴可以看一下数据结构关于哈子表的讲解或者私信我!!!)

class Solution {
public:
	//建一个哈希表
    unordered_map <int, int> h;
    
    vector<int> twoSum(vector<int>& nums, int target) {
        //一个动态数组
        vector<int> ans;
        for (int i = 0; i < nums.size(); i++) {
        	//没有找到答案
            if (h.find(target - nums[i]) == h.end()) {
                h[nums[i]] = i;
                continue;
            }
            //找到答案
            ans.push_back(h[target - nums[i]]);
            ans.push_back(i);
            break;
        }
        return ans;
    }
};

你可能感兴趣的:(leetcode,leetcode,算法,职场和发展)