【无标题】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 {};
    }
};
相关推荐
木井巳13 分钟前
【BFS/DFS 解决 FloodFill 算法】太平洋大西洋水流问题
java·算法·leetcode·深度优先·广度优先·宽度优先·推荐算法
心抵鹊32 分钟前
归并排序之翻转对(hard)
数据结构·算法
白山编程大哥34 分钟前
Java 集合算法:从排序、查找到底层原理的实战指南
java·python·算法
shehuiyuelaiyuehao1 小时前
算法34,位运算符操作,总结
算法
FfHUCisI1 小时前
Golang Map 哈希表实现
golang·哈希算法·散列表
Navigator_Z1 小时前
LeetCode //C - 1224. Maximum Equal Frequency
c语言·算法·leetcode
Navigator_Z2 小时前
LeetCode //C++ - 1226. The Dining Philosophers
c语言·算法·leetcode
FOORIR2 小时前
3D视觉+AI客流系统怎么做:从Sensor Pipeline到数据事件引擎
算法
Omics Pro4 小时前
Arc研究所Cell|全新虚拟细胞官方基准评测框架
大数据·人工智能·深度学习·算法·机器学习
CoderYanger5 小时前
A.每日一题:1140. 石子游戏 II
java·程序人生·算法·leetcode·游戏·职场和发展·深度优先