IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 哈希表相关题目c++ -> 正文阅读

[数据结构与算法]哈希表相关题目c++

哈希表特点是对应有索引,通过一个哈希函数对应出一个下标来存储.

class Solution {
public:
    bool isAnagram(string s, string t) {
       int num[27]={0};
       for(int i=0;i<s.size();i++)//哈希表
       {
           num[s[i]-'a']++;
       }
       for(int j=0;j<t.size();j++)//一个让num--,一个让num++来判断是否相等秒啊妙啊
       {
           num[t[j]-'a']--;
       }
       for(int k=0;k<25;k++)
       {
           if(num[k]!=0)
           {
               return false;
           }
       }
return true;
    }
};

unordered_set(底层实现是哈希表),c++内部都有写好的哈希函数,set函数存放的就是关键字,map存关键字和其他的数据,可以通过关键字找到其绑定的其他数据。

?

class Solution {
public:
    vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
        unordered_set<int> result;//存放答案数组
        unordered_set<int> num(nums1.begin(),nums1.end());//使用迭代器构造 把nums1存入到桶中
        //对nums2中的元素一个个遍历 看是否有相同的元素
        for(int k:nums2)//加强循环
        {
            if(num.find(k)!=num.end())
            {
                result.insert(k);
            }
        }
        return vector<int>(result.begin(),result.end());
//居然还可以强制转换成vecctor





    }
};

unordered_map(底层实现依然是哈希结构,它需要一个关键字和一个数据,可以由关键字查找到其他数据)

另外需要了解到的一个知识点pair

pair是将2个数据组合成一组数据,当需要这样的需求时就可以使用pair,如stl中的map就是将key和value放在一起来保存。另一个应用是,当一个函数需要返回2个数据的时候,可以选择pair。 pair的实现是一个结构体,主要的两个成员变量是first second 因为是使用struct不是class,所以可以直接使用pair的成员变量。
?

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-04-27 11:31:56  更:2022-04-27 11:36:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 6:55:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码