![](https://img-blog.csdnimg.cn/21bd9c8961ff409e9ab3339d1aaed33a.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
哈希表
文章平均质量分 60
哈希表
zzu菜
努力努力在努力!
展开
-
哈希表基础知识
哈希表基础知识首先什么是 哈希表,哈希表(英文名字为Hash table,国内也有一些算法书籍翻译为散列表,大家看到这两个名称知道都是指hash table就可以了)。哈希表是根据关键码的值而直接进行访问的数据结构。这么这官方的解释可能有点懵,其实直白来讲其实数组就是一张哈希表。哈希表中关键码就是数组的索引下标,然后通过下标直接访问数组中的元素,如下图所示:那么哈希表能解决什么问题呢,一般哈希表都是用来快速判断一个元素是否出现集合里。例如要查询一个名字是否在这所学校里。要枚举的话时间复原创 2022-03-13 19:18:56 · 14103 阅读 · 0 评论 -
18. 四数之和
18. 四数之和给你一个由 n 个整数组成的数组 nums ,和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] (若两个四元组元素一一对应,则认为两个四元组重复):0 <= a, b, c, d < na、b、c 和 d 互不相同nums[a] + nums[b] + nums[c] + nums[d] == target你可以按 任意顺序 返回答案 。示例 1:输入:nums =原创 2022-03-19 20:31:53 · 272 阅读 · 0 评论 -
15. 三数之和
15. 三数之和给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。示例 1:输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]示例 2:输入:nums = []输出:[]示例 3:输入:nums = [0]输出:[]思考这里使用排序 + 双指针如果nums的长度小于3,返回[]原创 2022-03-17 20:40:22 · 221 阅读 · 0 评论 -
力扣-383. 赎金信-Map
简单题 划划水383. 赎金信给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。如果可以,返回 true ;否则返回 false 。magazine 中的每个字符只能在 ransomNote 中使用一次。示例 1:输入:ransomNote = “a”, magazine = “b”输出:false示例 2:输入:ransomNote = “aa”, magazine = “ab”输出:false示例原创 2022-02-24 20:04:25 · 311 阅读 · 0 评论 -
454. 四数相加 II
454. 四数相加 II给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足:0 <= i, j, k, l < nnums1[i] + nums2[j] + nums3[k] + nums4[l] == 0示例 1:输入:nums1 = [1,2], nums2 = [-2,-1], nums3 = [-1,2], nums4 = [0,2]输出:2解释:两个元组如下:(0, 0,原创 2022-03-16 20:32:42 · 214 阅读 · 0 评论 -
1. 两数之和
1. 两数之和给定一个整数数组nums和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。示例 2:输入:nums = [3,2,4], targ原创 2022-03-16 15:51:05 · 69 阅读 · 0 评论 -
242. 有效的字母异位词
242. 有效的字母异位词给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。示例 1:输入: s = “anagram”, t = “nagaram”输出: true示例 2:输入: s = “rat”, t = “car”输出: false思考最简单的方法HashMap其次注意对象的比较 equalspackage 力扣;import java.util.Has原创 2022-03-13 19:48:53 · 686 阅读 · 0 评论 -
349. 两个数组的交集
349. 两个数组的交集](https://leetcode-cn.com/problems/intersection-of-two-arrays/)给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2]示例 2:输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出:[9,4]解释:[4,9原创 2022-03-14 20:41:55 · 597 阅读 · 0 评论 -
202. 快乐数
202. 快乐数编写一个算法来判断一个数 n 是不是快乐数。「快乐数」 定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果这个过程 结果为 1,那么这个数就是快乐数。如果 n 是 快乐数 就返回 true ;不是,则返回 false思考有解情况无解情况,存在环所以解决问题的关键,就是看数据是否重复出现即可,同时选择什么类用来存储记录数据这里用Set来记录之前的数据,利用其无原创 2022-03-16 14:10:53 · 1674 阅读 · 0 评论