
哈希
文章平均质量分 50
哈希
alone_yue
后端开发 算法 爱好健身打球游泳
展开
-
【Leetcode周赛--哈希表数对】6164.数位和相等数对的最大和
【Leetcode周赛--哈希表数对】6164.数位和相等数对的最大和。原创 2022-07-17 14:23:40 · 307 阅读 · 0 评论 -
【Leetcode周赛--哈希表模拟】6113.无限集中的最小数字
【Leetcode周赛--哈希表模拟】6113.无限集中的最小数字原创 2022-07-10 15:14:17 · 300 阅读 · 0 评论 -
【Leetcode哈希+摩尔投票 】169. 多数元素 229. 多数元素 II
leetcode哈希+摩尔投票原创 2022-06-06 22:36:57 · 418 阅读 · 1 评论 -
【Leetcode哈希】128. 最长连续序列
128.最长连续序列原创 2022-06-04 16:30:54 · 240 阅读 · 0 评论 -
【Leetcode哈希--双向链表】146.LRU 缓存机制 BM101.设计LFU缓存结构
文章目录Leetcode1461.问题描述2.解决方案Leetcode1461.问题描述2.解决方案class LRUCache {private: //put和get都算使用 unordered_map<int,int> uTime; int time; unordered_map<int,int> uMap; int capacity; int num;public: LRUCache(int capacit原创 2021-10-12 21:45:28 · 178 阅读 · 1 评论 -
【Leetcode哈希-双指针】167. 两数之和 II - 输入有序数组
文章目录Leetcode1671.问题描述2.解决方案解法一:哈希(和leetcode-1.两数之和一样的方法,但是是针对无序数组的)解法二:双指针(利用了递增的特性)解法三:二分查找Leetcode1671.问题描述2.解决方案解法一:哈希(和leetcode-1.两数之和一样的方法,但是是针对无序数组的)//哈希(和leetcode1一样的方法)class Solution {public: vector<int> twoSum(vector<int>&原创 2021-10-09 10:50:54 · 111 阅读 · 1 评论 -
【Leetcode哈希】383. 赎金信
文章目录Leetcode3831.问题描述2.解决方案解法一:暴力解法二:哈希Leetcode3831.问题描述1.杂志里的字符不可重复使用,相当于第一个字符串是第二个字符串的子序列2.都是小写字母2.解决方案解法一:暴力不多说了,就两个for硬遍历!// 时间复杂度: O(n^2)// 空间复杂度:O(1)class Solution {public: bool canConstruct(string ransomNote, string magazine) {原创 2021-10-09 10:45:31 · 100 阅读 · 1 评论 -
【Leetcode哈希(不适合)+双指针】18. 四数之和(有关于代码实现细节总结!!)
文章目录Leetcode181.问题描述2.解决方案解法一:排序加双指针(1)思路(2)分析总结(3)代码实现解法二:排序加双指针(官方优化)优化点一:优化点二:解法三:哈希Leetcode181.问题描述2.解决方案解法一:排序加双指针(1)思路(2)分析总结a.int 32位,能表示2147483647 ,大概是2*10^9 , 就是说如果题目的数有10^9,那就要注意了两个以上加起来就超过了 int 能表示范围,比如这道题,所以要记住 int 范围的事情。解决这个问题就原创 2021-10-09 10:13:50 · 257 阅读 · 1 评论 -
【Leetcode哈希(不适合)-双指针】15. 三数之和(有代码实现的细节总结!!)
文章目录Leetcode151.问题描述2.解决方案解法一:排序加双指针(1)思路(2)分析总结a.关于可行性的检查,相对简单只需要在循环一开始判断就好b.关于越界的解决c.关于重复性的检查(3)代码实现解法二:排序加双指针(官方优化)解法三:哈希Leetcode151.问题描述2.解决方案解法一:排序加双指针(1)思路1.思路就像下面那个图初始化i=0,left=i+1,right=len-12.然后对于每一个i找到符合条件的(i,left,right)的三元组即可,但是代码实现有很多原创 2021-10-09 09:57:51 · 309 阅读 · 1 评论 -
【Leetcode哈希(适合)】454. 四数相加 II
文章目录Leetcode4541.问题描述2.解决方案Leetcode4541.问题描述2.解决方案原创 2021-10-09 09:04:19 · 141 阅读 · 1 评论 -
【Leetcode哈希+no双指针】1. 两数之和(有关于数组set还是map的选择,为什么不能用双指针!!)
文章目录Leetcode11.问题描述2.解决方案解法一:暴力解法二:哈希3.关于数组set还是map的选择Leetcode11.问题描述2.解决方案解法一:暴力暴力遍历,时间复杂度o(n2)class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { vector<int> ans; for(int i=0;i&原创 2021-10-08 17:13:27 · 214 阅读 · 3 评论 -
【Leetcode哈希】202. 快乐数(捕捉题目关键点锁定哈希!!)
文章目录Leetcode2021.问题描述2.解决方案Leetcode2021.问题描述2.解决方案1.这题乍一看和哈希好像没什么关系,哈希是干嘛的,是用来快速判断一个元素是否出现集合里2.但是我们需要捕捉题目的关键点:题目中说了会无限循环,那么也就是说求和的过程中,sum会重复出现3.所以这道题目使用哈希法,来判断这个sum是否重复出现,如果重复了就是return false, 否则一直找到sum为1为止。4.判断sum是否重复出现就可以使用unordered_set5.还有一个难点就原创 2021-10-08 16:52:27 · 92 阅读 · 1 评论 -
【Leetcode哈希】349. 两个数组的交集(有set等与数组哈希比较!!)
文章目录Leetcode3491.问题描述2.解决方案解法一:使用unordered_map解法二:使用unordered_setLeetcode3491.问题描述2.解决方案解法一:使用unordered_mapnums1赋1,nums2如果在mp种出现过就变为-1,最后遍历一遍把-1的key加入结果集,也去冲了相当于!class Solution {public: vector<int> intersection(vector<int>& nu原创 2021-10-08 16:34:54 · 87 阅读 · 1 评论 -
【Leetcode哈希】242. 有效的字母异位词
文章目录Leetcode2421.问题描述2.解决方案Leetcode2421.问题描述2.解决方案先+1,再-1,最后unordered_map是空就说明是字母异位词!class Solution {public: bool isAnagram(string s, string t) { //1.建立哈希表 unordered_map<char,int> mp; for (auto item: s) {原创 2021-10-08 16:16:36 · 75 阅读 · 1 评论 -
【Leetcode哈希】哈希表理论基础
文章目录1.Hash table的定义2.Hash table的作用3.哈希函数4.哈希碰撞(冲突)a.解决冲突---拉链法b.解决冲突---线性探测法5.常见的三种哈希结构a.setb.mapc.hash_set,hash_map6.总结1.Hash table的定义2.Hash table的作用3.哈希函数4.哈希碰撞(冲突)a.解决冲突—拉链法其实拉链法就是要选择适当的哈希表的大小,这样既不会因为数组空值而浪费大量内存,也不会因为链表太长而在查找上浪费太多时间b原创 2021-10-08 15:14:35 · 181 阅读 · 1 评论