自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 代码随想录算法训练营第七天| 454.四数相加II 、383. 赎金信 、 15. 三数之和、18. 四数之和。

给你四个整数数组nums1nums2nums3和nums4,数组长度都是n,请你计算有多少个元组2两个元组如下:1本题求的是满足条件的元组的数量不需要去重,所以直接使用哈希表来做。因为只需要求出元组数不需要知道具体的索引,所以将4个数分为两组,两组的和为0则count加一,用一个哈希表(defaultdict)储存第一组的和,然后遍历第二组,使用dict.get(target,0)来在哈希表搜索key为第一组和的负数的数量(值)。

2024-01-17 02:36:15 1063

原创 代码随想录算法训练营第四天| 24. 两两交换链表中的节点 、19.删除链表的倒数第N个节点 、 面试题 02.07. 链表相交、142.环形链表II。

又因为快指针每次走两步,慢指针每次走一步所以2slow = fast,代入化简得到x=(n-1)(y+z)+z,n是快指针与慢指针相遇前走过的圈数,因为快指针先进环所以n一定是大于1的。给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。在两两反转时以两个节点为组,需要考虑前一个节点的指向,因为单链表遍历时无法回溯到之前节点,所以这里需要用到双指针,然后就是。观察两个链表,相交节点是两个链表同时拥有的节点,所以使用哈希表能够快速的找到重复的节点。接上,因为y+z是圈的周长,所以x=z,

2024-01-13 18:53:12 1262

原创 代码随想录算法训练营第三天| 203.移除链表元素 、707.设计链表、206.反转链表。

这题刚开始下手有点懵啊,需要自己写一个节点的类,接下来就顺理成章了,需要注意的是要在构造函数中初始化一个size的属性,因为题目明确说了index可能超出链表,这个时候就需要通过size来判断index的位置,那么在更新链表时也别忘了更新size。在初始化pre指针时,直接使用none来做为一个节点就可以了,因为你每次迭代时改变的是cur节点的指向,并不操作pre节点,所以pre节点一开始就不能有指向。很简单的链表删除操作,从这题学会一个思想,就是虚拟头结点,在大部分的链表题中都可以使用。

2024-01-12 19:09:51 1154

原创 代码随想录算法训练营第二天| 977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II。

此类题都使用同一种思路,螺旋遍历,为了保持遍历的一致性每次都空一个元素作为下一次遍历的起始元素,以转回来为一次循环,确定循环次数搞懂偏移量概念后,这题就没什么难点了,因为矩阵是正方形矩阵,所以中心值得补录只需要考虑单个值,我觉得更难的情况出现在。这题是滑动窗口的入门题,用和值比较target值,来改变窗口左右界,在自写的代码中判断循环退出条件时,多考虑了一下如果窗口大小为1大于target情况滑动窗口左界右移的情况,仔细观察循环写冗杂了,因为右界是一定会走到数组最右的。组成的新数组,要求也按。

2024-01-11 20:36:03 770

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除