首页 > 编程语言 >代码随想录算法训练营第6天 | 哈希表理论基础, 242.有效的字母异位词, 349. 两个数组的交集, 202. 快乐数, 1. 两数之和 - 第3章 哈希表part01

代码随想录算法训练营第6天 | 哈希表理论基础, 242.有效的字母异位词, 349. 两个数组的交集, 202. 快乐数, 1. 两数之和 - 第3章 哈希表part01

时间:2023-05-15 13:23:01浏览次数:59  
标签:数组 E5% 随想录 E6% E7% 哈希 E4% 两数

 

第三章 哈希表part01

 

 今日任务 

 

●  哈希表理论基础 

●  242.有效的字母异位词 

●  349. 两个数组的交集 

●  202. 快乐数

●  1. 两数之和   

 

 详细布置 

 

 哈希表理论基础 

 

建议:大家要了解哈希表的内部实现原理,哈希函数,哈希碰撞,以及常见哈希表的区别,数组,set 和map。  

 

什么时候想到用哈希法,当我们遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法。  这句话很重要,大家在做哈希表题目都要思考这句话。 

 

文章讲解:https://programmercarl.com/%E5%93%88%E5%B8%8C%E8%A1%A8%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html

 

 

 242.有效的字母异位词 

 

建议: 这道题目,大家可以感受到 数组 用来做哈希表 给我们带来的遍历之处。 

 

题目链接/文章讲解/视频讲解: https://programmercarl.com/0242.%E6%9C%89%E6%95%88%E7%9A%84%E5%AD%97%E6%AF%8D%E5%BC%82%E4%BD%8D%E8%AF%8D.html

 

 

 349. 两个数组的交集 

 

建议:本题就开始考虑 什么时候用set 什么时候用数组,本题其实是使用set的好题,但是后来力扣改了题目描述和 测试用例,添加了 0 <= nums1[i], nums2[i] <= 1000 条件,所以使用数组也可以了,不过建议大家忽略这个条件。 尝试去使用set。 

 

题目链接/文章讲解/视频讲解:https://programmercarl.com/0349.%E4%B8%A4%E4%B8%AA%E6%95%B0%E7%BB%84%E7%9A%84%E4%BA%A4%E9%9B%86.html

 

 202. 快乐数 

 

建议:这道题目也是set的应用,其实和上一题差不多,就是 套在快乐数一个壳子 

 

题目链接/文章讲解:https://programmercarl.com/0202.%E5%BF%AB%E4%B9%90%E6%95%B0.html

标签:数组,E5%,随想录,E6%,E7%,哈希,E4%,两数
From: https://www.cnblogs.com/littlelazy/p/17401569.html

相关文章

  • 代码随想录day4|leetcode24,19,142
    Leetcode24我一开始是直接模拟,通过考虑后面有没有secondpoint和thirdpoint的情况下进行的编程,非常的冗长。后面阅读了推荐的答案,发现在编写链表题目的时候,可以使用虚拟头节点,这样写出来的结果非常的简洁明了,并且一二两个就可以开始重复进行 关于判断语句的如果是and连接......
  • 两数之和
    class Solution {public:    vector<int> twoSum(vector<int>& nums, int target) {        int n = nums.size();        vector<int>idxs;        for(int i = 0;i<n;i++) idxs.push_back(i);        sort(idxs.begi......
  • 两数相加
     /** * Definition for singly-linked list. * struct ListNode { *     int val; *     ListNode *next; *     ListNode() : val(0), next(nullptr) {} *     ListNode(int x) : val(x), next(nullptr) {} *     ......
  • 哈希表——创建,查找结点——C语言描述
    哈希表——创建,查找结点——C语言描述目录哈希表——创建,查找结点——C语言描述0测试用例框架1定义2数据结构2初始化哈希表与查找(1)代码(2)测试用例(3)打印结果0测试用例框架https://blog.csdn.net/m0_59469991/article/details/127137119?csdn_share_tail=%7B%22type%22%3A%22......
  • 代码随想录day3
    先读了一下关于数组的总结部分感觉总结的图非常有用,复制过来,以方便复习查阅完成了三个链表相关习题,主要是熟悉链表的定义Leetcode203 Leetcode707  Leetcode206 ......
  • 代码随想录算法训练营第三天|203.移除链表元素 、707.设计链表 、206.反转链表
    一.链表基础1.最后一个节点的指针域指向null(空指针的意思)。2.链表在内存中不是连续分布的。3.链表的长度可以是不固定的,并且可以动态增删,适合数据量不固定,频繁增删,较少查询的场景。1#链表节点的定义2classListNode:3def__init__(self,val,next=None):4......
  • 一致性哈希(哈希环)解决数据分布问题
    哈希算法是程序开发过程中最广泛接触到的的算法之一,典型的应用有安全加密、数据校验、唯一标识、散列函数、负载均衡、数据分片、分布式存储。前些天遇到用一致性哈希(哈希环)的场景,不过我细想一下,对这个知识点好像了解过,但是又没太深印象,说不出具体是什么原理,怎么用,有哪些注意的地......
  • hash哈希算法
    hash,-般翻译做散列、杂凑,或音译为哈希,是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间。它其实就是一个算法,最简单的算法就是加减乘除,比方,我设计个数字算法,输入+......
  • C/C++折半查找与哈希查找[2023-05-11]
    C/C++折半查找与哈希查找[2023-05-11]4、折半查找与哈希查找(难度等级A)[问题描述]查找是通过在查找表中做比较来完成的操作。折半查找与哈希查找都是利用数组实现的查找算法。通过本题,可以观察两种查找算法的性能。一般我们用平均查找长度ASL来表示一种查找算法的性能。ASL......
  • python基础学习-hashlib - 哈希函数模块
    hashlib-哈希函数模块参考地址:Python-Core-50-Courses/第20课:Python标准库初探.mdatmaster·jackfrued/Python-Core-50-Courses(github.com)待补充......哈希函数又称哈希算法或散列函数,是一种为已有的数据创建“数字指纹”(哈希摘要)的方法。哈希函数把数据压缩成摘要,对......