【无标题】1.用哈希表做两数之和

这道题我要学习的地方有很多,比如

1**.auto:它是让编译器让它自动猜类型,适用于类型名称很长的适合,在这段代码中,x的类型如果不写成auto的话就写成unordered_map<int,int>::iterator(iterator是迭代器的意思)**

2.当返回值类型是vector<int>时,我们的return可以写成{i,x->second}这是列表初始化的写法

记住的方法是:

return{a,b}

自动打包成a和b,拼成题目想要的数组答案直接返回

3.x->second这个是代表哈希表中值x->first代表的是键

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

            }
            hash[nums[i]]=i;

        }
        return {};
    }
};
相关推荐
想吃火锅100512 小时前
【leetcode】14.最长公共前缀js
算法·leetcode·职场和发展
云絮.13 小时前
数据库操作
数据库·mysql·算法·oracle
小林ixn14 小时前
LeetCode 206. 反转链表(迭代 + 递归详解)
算法·leetcode·链表
凡人叶枫14 小时前
Effective C++ 条款17:以独立语句将 newed 对象置入智能指针
java·linux·开发语言·c++·算法
菜鸟‍15 小时前
LeetCode 1 27 和 704 || 两数之和 移除元素 二分查找
算法·leetcode·职场和发展
退休倒计时16 小时前
【每日一题】LeetCode 142. 环形链表 II TypeScript
算法·leetcode·链表·typescript
popcorn_min17 小时前
Digits 手写数字识别:随机森林多分类 + 像素级特征热力图
算法·随机森林·分类
liulilittle17 小时前
拥塞控制:排水终止的两种决策:OR 与 AND
网络·tcp/ip·计算机网络·算法·信息与通信·tcp·通信
花间相见18 小时前
【LeetCode02】—— 两数之和:哈希表入门经典详解
数据结构·散列表
weixin_3077791318 小时前
从脚本执行到智能体协作:AI辅助测试能力的范式重构
运维·开发语言·人工智能·算法·测试用例