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

两数之和(哈希表)

时间:2025-01-11 11:43:45浏览次数:6  
标签:target 示例 nums vector mp 哈希 两数

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target  的那 两个 整数,并返回它们的数组下标。

你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。

你可以按任意顺序返回答案。

 

示例 1:

输入:nums = [2,7,11,15], target = 9
输出:[0,1]
解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。

示例 2:

输入:nums = [3,2,4], target = 6
输出:[1,2]

示例 3:

输入:nums = [3,3], target = 6
输出:[0,1]
class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        //元素与索引的映射
        map<int,int> mp;
        for(int i=0;i<nums.size();i++){
            //如果找到就直接返回
            if(mp.find(target-nums[i])!=mp.end()){
                return vector<int>{mp[target-nums[i]],i};
            }else{//否则就放进哈希表
                mp[nums[i]]=i;
            }
        }
        return vector<int>{};
    }
};

 

标签:target,示例,nums,vector,mp,哈希,两数
From: https://www.cnblogs.com/yueshengd/p/18665422

相关文章

  • 梦开始的地方:力扣热题100哈希表
    文章目录前言一、哈希表是什么二、力扣解题常见的三种哈希结构(java版本)1.数组2.set(集合)3.map(映射)总结前言在刷力扣100题的征程中,我从哈希相关题目入手,一路探索,收获颇丰。如今,想将自己在这一过程中的思路与感悟进行一番总结,既为记录成长,也希望能给同样在算法之路上......
  • 关于此题[ABC367F] Rearrange Query随机化哈希的一些总结
    传送门这道题要求我们对于非常多的询问回答[l,r]、[L,R]这样两个区间内A、B数组中各个数的出现次数是否相同。看到这道题似乎想到了刚开始学编程的时候就想过的一个问题(bushi,那就是我能不能直接用,例如说这段区间和是否相同,或者说这段区间乘积之类的是否相同来判断这个区间各个数......
  • 2.两数相加
    2.两数相加classListNode{constructor(val,next){this.val=(val===undefined?0:val)this.next=(next===undefined?null:next)}}/***@param{ListNode}l1*@param{ListNode}l2*@return{ListNode}*/varaddTwoNu......
  • 1两数之和
    这道题也是经典的越写越复杂,最开始不能通过[3,3],6。然后就写判断map1[target-nums[i]]!=map1[nums[i]].还是不能通过,然后换成multimap,换完之后也不行。然后去查怎么获得相同key的value,然后知道了equal.range()。最后终于也是写出来了,但是花了好长时间。classSolution{public:......
  • [数据结构学习笔记10] 哈希表(Hashtable)
    哈希表也叫Hashmap或者Dictionary,它存储和检索都非常快,所以常用于缓存数据供后续快速访问。哈希函数,是这样的一个函数,你提供一个input,它会返回一个唯一的值(hashcode)。只要你的input是相同的,这个哈希函数会返回同样的output。从哈希函数到哈希表哈希表底层是一个数组结构,这意味......
  • 力扣1. 两数之和
    相信很多人和我一样(本人较......
  • Redis数据库笔记—— Hash(哈希)的扩容机制(rehash)
    大家好,这里是GoodNote,关注公主号:Goodnote,专栏文章私信限时Free。详细介绍Hash(哈希)的扩容机制(rehash)、源码、以及扩容和缩容过程。文章目录Redis字典(dict)结构源码哈希表结构定义渐进式哈希扩容(rehash)渐进式哈希的优点扩容机制:rehash扩容条件扩容过程缩容机制:r......
  • 【哈希算法】实战应用
    一、使用哈希进行函数调用使用哈希隐藏API调用代码#include<windows.h>#include<stdio.h>intmain(){MessageBoxA(NULL,"Meow-meow!","=^..^=",MB_OK);return0;}编译i686-w64-mingw32-g++meow.c-omeow.exe-mconsole-I/usr/share/mingw-w64......
  • 六. 哈希表
    哈希表哈希表又称散列表,通过建立键 key 与值 value 之间的映射,实现高效的元素查询。当对哈希表输入键key时,即可查询到对应的值value,其时间复杂度仅为O(1)。1.哈希表1.1.哈希表常用操作1.1.1.基础操作基础操作包括初始化、查询、添加键值对和删除键值对#初始化......
  • 算法解析-经典150(矩阵、哈希表)
    文章目录矩阵1.有效的数独1.答案2.思路2.螺旋矩阵1.答案2.思路3.旋转图像1.答案2.思路4.矩阵置零1.答案2.思路哈希表1.赎金信1.答案2.思路2.同构字符串1.答案2.思路3.单词规律1.答案2.思路4.有效的字母异位词1.答案2.思路5.字母异位词分组1.答案2.思路......