力扣刷题
qq_43309915
这个作者很懒,什么都没留下…
展开
-
454. 四数相加 II
我刚开始的思路是用set记录a+b出现的次数,但是就没办法记录a+b的值,还是要用map,通过遍历c+d,加上a+b出现的次数,把满足条件的记下来。原创 2022-09-29 20:21:31 · 133 阅读 · 0 评论 -
349 两个数组的交集
设置两个set,第一个set存储结果result,第二个set存储num1,遍历num2并且在第二个set中查找,找到共同元素也就是交集就存到result set中,最后输出。给定两个数组 nums1 和 nums2 ,返回 它们的交集。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序。因为unordered_set的查找效率很高。原创 2022-09-29 20:00:36 · 90 阅读 · 0 评论 -
1 两数之和
题目要求返回下标,也就是我们在寻找两数之和的同时也要存储运算的下标,而map正好是key:value,通过在map中寻找find(key),找到能和num[i]和为target得关键值key,find函数返回迭代器,iter->first是key,iter->second是value, 没找到就存入map,等下一个匹配。multiset有序,有重复元素,查询效率和增删效率是O(logn)。set有序,无重复元素,查询效率和增删效率是O(logn)。借此学习一下数组,set,和map,先分析代码。原创 2022-09-29 19:47:44 · 65 阅读 · 0 评论 -
242 有效的字母异位词之哈希表
在第一次循环中把int数组对应字母的元素+1,第二次循环的时候-1,最后扫描数组,如果全是0则表示全符合题目要求。哈希最重要的作用就是判断元素是否出现在一个集合中。原创 2022-09-27 21:08:22 · 161 阅读 · 0 评论 -
142 环形链表Ⅱ之快慢指针
https://zhuanlan.zhihu.com/p/361049436 写的非常不错。原创 2022-09-27 19:00:20 · 138 阅读 · 0 评论 -
19 删除倒数第n个节点之虚拟头节点和双指针
链表题常见的就是双指针和虚拟头节点原创 2022-09-27 17:36:00 · 64 阅读 · 0 评论 -
206反转链表之反思循环条件与双指针+递归实现
其次再分析一下,如果此时的while循环条件改成while(cur)会导致最后的pre其实是最后一节点,最后一次循环的时候cur=null。首先呢,while的循环条件写错了,因为我们要反转的是整个链表,如果只执行到cur->next会导致最后一个节点没有处理。我在刚拿到这道题的时候以为要三个指针,其实不然,只需要两个指针即可,另一个为临时指针存储cur的下一个节点。其实每步的递归就是将当前的两个节点反转,不断调用就行了。想清楚每一步递归,想好递归的终止条件。第一次的错误代码分析。原创 2022-09-26 23:03:57 · 86 阅读 · 0 评论 -
203 移除链表元素之虚拟头节点
删除一个链表节点是非常简单的,但是如果删除的是头节点就很麻烦,需要特殊处理,这时我们引入虚拟头节点dummyHead就可以解决这个问题,把所有节点统一处理。移除链表之虚拟头节点。原创 2022-09-25 09:57:45 · 85 阅读 · 0 评论 -
209 长度最小子数组之滑动窗口
209 长度最小子数组原创 2022-09-24 10:44:50 · 149 阅读 · 0 评论 -
27 移除元素之双指针法
27 移除元素,双指针问题原创 2022-09-20 19:00:19 · 161 阅读 · 1 评论 -
704二分查找之区间不变量
704 二分查找易错点原创 2022-09-20 17:44:40 · 84 阅读 · 0 评论