首页 > 其他分享 >0x02 Leetcode Hot100 哈希

0x02 Leetcode Hot100 哈希

时间:2024-10-29 21:44:36浏览次数:5  
标签:set Hash key int dict 哈希 Hot100 Leetcode

前置知识

掌握每种语言的基本数据类型及其时间复杂度。

  • Python:list、tuple、set、dict
  • C++:STL中的vector、set、map
  • Java:集合类中的List、Set、Map

为什么是哈希?

在不同语言中,对于字典(dict)类的数据都会先将其键(key)进行哈希(Hash)运算,这个Hash值决定了键值对在内存中的存储位置,因此可以快速地查找对应的值(value)。而对于集合(Set)类的数据来说,在内存中只需要存入每个元素(element)的Hash值。

总结

两数之和 将 int 作为 dict 的 key。
字母异位词分组 将 str 作为 dict 的 key。
最长连续序列 将 int 作为 set 的 element。

对于这三道题来说,本质上就是要做到灵活运用 dict 和 set。这类数据类型除了能够高效编码外,还可以加快运行时间。最重要的是要熟练掌握以至把它看作一种像是 int、str 等最基本的数据结构。

标签:set,Hash,key,int,dict,哈希,Hot100,Leetcode
From: https://www.cnblogs.com/Linx3f/p/18514553

相关文章

  • Leetcode73. 矩阵置零
    问题描述:给定一个 mxn的矩阵,如果一个元素为0,则将其所在行和列的所有元素都设为0。请使用原地算法。示例1:输入:matrix=[[1,1,1],[1,0,1],[1,1,1]]输出:[[1,0,1],[0,0,0],[1,0,1]]示例2:输入:matrix=[[0,1,2,0],[3,4,5,2],[1,3,1,5]]输出:[[0,0,0,0],[0,......
  • LeetCode15:三数之和
    原题地址:.-力扣(LeetCode)题目描述给你一个整数数组 nums ,判断是否存在三元组 [nums[i],nums[j],nums[k]] 满足 i!=j、i!=k 且 j!=k ,同时还满足 nums[i]+nums[j]+nums[k]==0 。请你返回所有和为 0 且不重复的三元组。注意:答案中不可以包含重复......
  • LeetCode16:最接近的三数之和
    原题地址:.-力扣(LeetCode)题目描述给你一个长度为 n 的整数数组 nums 和一个目标值 target。请你从 nums 中选出三个整数,使它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在恰好一个解。示例1:输入:nums=[-1,2,1,-4],target=1输出:2......
  • leetcode-3211. 生成不含相邻零的二进制字符串
    leetcode-3211.生成不含相邻零的二进制字符串给你一个正整数n。如果一个二进制字符串x的所有长度为2的子字符串中包含至少一个"1",则称x是一个有效字符串。返回所有长度为n的有效字符串,可以以任意顺序排列。思路:所有长度为2的子字符串都包含1,也就是说,......
  • LeetCode 202 - 快乐数
    题目描述编写一个算法来判断一个数 n 是不是快乐数。「快乐数」 定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为1,或者进入一个无限循环但始终变不到1。如果这个过程的结果为1,那么这个数就是快乐数。如果 n 是快乐......
  • 【论文分享】HashGAT-VCA:一种结合哈希函数和图注意力网络的矢量元胞自动机模型,用于城
    本文考虑地块内部异质性,提出一个结合哈希函数和图注意力网络(GAT)的矢量元胞自动机(VCA)方法,用于研究城市土地利用变化;并将该模型应用于模拟深圳市2009年至2012年的城市土地利用变化,结果表明,HashGAT-VCA模型的模拟准确性显著优于其他VCA模型。【论文题目】HashGAT-VCA:Avecto......
  • Leetcode 3336. Find the Number of Subsequences With Equal GCD
    Leetcode3336.FindtheNumberofSubsequencesWithEqualGCD1.解题思路2.代码实现题目链接:3336.FindtheNumberofSubsequencesWithEqualGCD1.解题思路这一题没能自力搞定,挺伤心的,看大佬的代码之后发现思路上是一个非常暴力的动态规划,就是不断地考察每一......
  • 闯关leetcode——222. Count Complete Tree Nodes
    大纲题目地址内容解题代码地址题目地址https://leetcode.com/problems/count-complete-tree-nodes/description/内容Giventherootofacompletebinarytree,returnthenumberofthenodesinthetree.AccordingtoWikipedia,everylevel,exceptpos......
  • Leetcode : 684. 冗余连接
    >Problem:684.冗余连接题解:冗余连接(RedundantConnection)题目描述给定一棵包含n个节点的树(节点值为1到n),向树中添加一条边后形成一个图。你的任务是找出一条可以删除的边,使得删除后剩余部分仍然是一棵有n个节点的树。如果有多个答案,返回在输入数组edges中......
  • 代码随想录算法训练营第十一天|leetcode150. 逆波兰表达式求值、leetcode239. 滑动窗
    1leetcode150.逆波兰表达式求值题目链接:150.逆波兰表达式求值-力扣(LeetCode)文章链接:代码随想录视频链接:栈的最后表演!|LeetCode:150.逆波兰表达式求值_哔哩哔哩_bilibili自己的思路:这是一道有思路,但是思路并不多的题目,就是我会觉得是先将数据进行添加,然后对于符号通过倒......