首页 > 其他分享 >哈希表——两数之和

哈希表——两数之和

时间:2022-10-28 21:47:32浏览次数:41  
标签:map return nums int iter 哈希 两数

class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        std::unordered_map<int, int>map;
        for(int i = 0; i < nums.size(); i++)
        {
            // 遍历当前元素,并在map中寻找是否有匹配的key
            auto iter = map.find(target - nums[i]);
            if(iter != map.end())
            {
                return {iter->second, i};
            }
            else
            {
                // 如果没找到匹配对,就把访问过的元素和下标加入到map中
                map.insert(pair<int, int>(nums[i], i));
            }
        }
        return {};
    }
};

标签:map,return,nums,int,iter,哈希,两数
From: https://www.cnblogs.com/dh2021/p/16837589.html

相关文章

  • CF580E - Kefa and Watch 线段树维护哈希
    题目思路区间修改+区间查询,考虑用线段树维护哈希实现。那么首先,需要明确判断循环节的方式:如上图所示是一个重要的结论:当区间的哈希值与的哈希值相等时,那么该区间是以为循环......
  • 哈希加密与日志模块
    一、hashlib模块1、简介什么是哈希模块:​ hashlib模块是一种加密模块,内部存有多种加密类型加密的作用:​ 可将明文数据进行加密,转换成一串密文,密文越长说明文件加密......
  • 力扣(leetcode) 1. 两数之和(暴力枚举) (哈希表)
    题目在这:https://leetcode-cn.com/problems/two-sum/nums=[2,7,11,15]target=9这题还是比较容易想到的,题目要求在nums数组里找俩不同位置的数他们相加等于给的target......
  • 力扣(leetcode) 12. 整数转罗马数字 (哈希映射表解法)、(暴力匹配)
    题目:https://leetcode-cn.com/problems/integer-to-roman/题目很好理解,并且容易想到解法。题目要求输入范围是1-3999可以理解为在每一位上找到相应的罗马数字表示即可比如......
  • 哈希表——快乐数
    #include<iostream>#include<unordered_set>usingnamespacestd;//取数值各个位上的单数平方之和intgetSum(intn){ intsum=0; while(n) { sum+=(n%......
  • 求两数组交集的两种算法
    //方法一:用哈希表的思路,将数组转换为对象varintersect1=function(nums1,nums2){  letobj={},arr=[];  for(leti=0;i<nums1.length;i++){......
  • 哈希表——哈希表理论
    哈希表讲解参考连接:原文链接:https://blog.csdn.net/weixin_40535588/article/details/121480672此处源于代码随想录哈希表的关键码就是数组的索引下标,然后通过下标直接......
  • 哈希表——有效的字母异位词
    暴力的解法,两层for循环,同时还要记录字符是否重复出现,很明显时间复杂度是O(n^2)利用哈希表解法classSolution{public:boolisAnagram(strings,stringt){......
  • 数据结构:7种哈希散列算法,你知道几个?
    作者:小傅哥博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!......
  • 二分+字符串哈希
    字符串哈希先说一维字符串哈希。基本思想是对每个\(i\),先求出\([1,i]\)上字符串哈希的值(前缀和思想),然后使用类似差分的方法求出\([x,y]\)上字符串哈希的值。具体算......