首页 > 其他分享 >LeetCode两数之和(vector,unordered_map/哈希表)

LeetCode两数之和(vector,unordered_map/哈希表)

时间:2023-01-11 01:11:55浏览次数:53  
标签:map return target nums int vector unordered 两数

原题解

vector
unordered_map

题目

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。
你可以按任意顺序返回答案。

约束

解法

方法一:暴力枚举

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

方法二:哈希表

class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        unordered_map<int, int> hashtable;
        for (int i = 0; i < nums.size(); ++i) {
            auto it = hashtable.find(target - nums[i]);
            if (it != hashtable.end()) {
                return {it->second, i};
            }
            hashtable[nums[i]] = i;
        }
        return {};
    }
};

总结:
1.vector中的size不能用<=,会报错。
2.auto定义迭代器
3.没找到会返回end()

标签:map,return,target,nums,int,vector,unordered,两数
From: https://www.cnblogs.com/chuixulvcao/p/17039784.html

相关文章

  • Java中集合函数--ArrayList和HashMap
    ArrayList集合框架:ArrayList是一个数组队列,提供了相关的添加、删除、修改、遍历等功能先初始化对象:ArrayList<String>list=newArrayList<>();添加元素使用add()方法......
  • mapserver服务请求服务xml文件
    mapserver服务请求服务xml文件方法:在链接后面添加  REQUEST=getcapabilities例如:http://127.0.0.1/mapserver/vmap/WMTS/1.0/XZQH/11?REQUEST=getcapabilities ......
  • linux 内存管理(四)malloc--mmap--brk
    用strace分析malloc内存申请过程。长话短说,申请内存空间一般就两种方法,一种是malloc,另一种是mmap映射空间。 在使用malloc()分配内存的时候,可能系统调用brk(),也可能调用m......
  • mmap: Operation not permitted
    char*map_shm=mmap(NULL,size,PROT_READ,MAP_SHARED,fd,0);该种情况下会报mmap:Operationnotpermitted修改为char*map_shm=mmap(NULL,size,PROT_READ,......
  • AS3之BitmapData学习整理
    最近在看BitmapData这个类,对这个东西也不是很熟悉,所以在网上看了一些资料,现在把他们都整理了一下,我想通过以下这些会让大家会对BitmapData这东西有个深刻的了解,对大家的理......
  • 第5章 MapReduce操作
    目录​5.1案例分析:单词计数​​​1.设计思路​​​​2.程序源代码​​​​3.程序解读​​​​4.程序运行​​​5.2案例分析:数据去重​​​1.设计思路​​​​2.编写程序......
  • MapReduce核心概念及架构
    MapReduce简介MapReduce常用于对大规模数据集(大于1TB)的并行运算,或对大数据进行加工、挖掘和优化等处理。MapReduce将并行计算过程高度抽象到了两个函数map和reduce中,程序员......
  • jeecgBoot将实体转为Map对象
    接口:interfaceCommonServiceMap<String,Object>convertObjToMap(Objectobj,booleanisIgnore,String...columns);实现类:classCommonServiceImplimplements......
  • Nmap 随记
    TARGETSPECIFICATION(指定扫描的目标):#可以传递主机名、IP地址、网络等。例如:scanme.nmap.org,microsoft.com/24,192.168.0.1;10.0.0-255.1-254-iL<inputfilenam......
  • 第五章(数据)[中]-Map
    字典(map)字典要求key必须是支持相等运算符(==、!=)的数据类型,比如:数字、字符串、指针、数组、结构体、接口类型字典是引用类型,创建字典有两种方式:a-make函数b-初始......