代码随想录 day6 哈希表

本文介绍了如何使用C++的unordered_set作为哈希表实现两个数组的交集查找,同时回顾了获取整数每位值的方法,并探讨了unordered_map的使用,包括键值对的访问。
摘要由CSDN通过智能技术生成

题目:

P242有效的字母异位数,P349两个数组的交集,P202快乐数,P1两数之和

收获:

1.使用数组,集合(set,主要是unorder_set,无序,无重复)做哈希表。哈希表一般用来快速判断一个元素是否出现在集合里。

2.unorder_set的用法。

class Solution {
public:
    vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
        unordered_set<int> result_set;
//将nums1的值赋值给nums_set
        unordered_set<int> nums_set(nums1.begin(),nums1.end());
        for(int i=0;i<nums2.size();i++){
            int num=nums2[i];
//nums_set.find()返回一个迭代器(好像和指针差不多),nums_set.edn()同样。
//nums_set.end()指向容器最后一个元素的下一个位置。这行代码意思是如果找到了num,
//就把num插入到result_set中。
            if(nums_set.find(num)!=nums_set.end())
            result_set.insert(num);
        }
//注意类型转换成vector
        return vector<int>(result_set.begin(),result_set.end());
    }
};

3.复习一下获取一个整数每个位置上值的方法。

int n;
cin>>n;

while(n){
cout<<n%10;//
n/=10;
}

4.学习了解了unordered_map的用法。

auto iter=map.find(nums[i]);//iter是指向map中与nums[i]值相同的值的迭代器

iter->first//表示iter指向的位置的key的值。

iter->second//表示iter指向位置的value的值。

pair<int,int>(2,3)//pair是c++标准库中定义的数据结构,表示一个由两个值组成的一个对
//其中int类型可以根据需要替换成其他类型

pair存储一个对,key和value。

  • 8
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值