四数相加|哈希表
摘要:四数相加 给定四个数组,如果四个数相加,如果和为0那么计数加一,最后输出一共有几个组合使得和为0。这题应用哈希表解决 ==对应题目454. 四数相加 II== 哈希表 使用哈希表,保存前两个数组对应的组合之和。value为两数相之和,如果有相同那么value加一。之和再遍历剩下两个数组之和的组合,再
阅读全文
posted @
2023-03-31 15:45
Coeleone
阅读(96)
推荐(0)
反转链表|递归
摘要:反转链表 将链表反转过来,可以对比反转数组,但是链表由于不知道链表大小所以反转数组的方法在这里会变得复杂。这里有两种方法,双指针和递归法。 ==对应题目206. 反转链表==🐾 双指针法 定义两个指针cur和pre分别指向一前一后,每次循环操作把cur的next指向pre再将cur和pre都向后移
阅读全文
posted @
2023-03-29 12:15
Coeleone
阅读(91)
推荐(0)
两两交换链表中的节点|递归
摘要:两两交换链表中的节点 链表中每两两相邻的节点将其对调位置,涉及的主要操作位交换节。但需要注意初始位置的交换即返回值,以及奇数个节点的处理方法,这里给出两种方法,迭代和递归。其中递归又分为两种。 ==对应题目24. 两两交换链表中的节点==💫 迭代法 同样的使用虚拟头节点进行操作,两个好处。一是可以
阅读全文
posted @
2023-03-29 12:13
Coeleone
阅读(78)
推荐(0)
螺旋矩阵
摘要:螺旋矩阵 一道经典的二维数组循环题目,难点是边界值的把握 ==对应题目59. 螺旋矩阵 II==🎶 模拟法 螺旋矩阵的产生步骤大致为这3步。 先判断需要螺旋几次,给出结论需要螺旋$\frac{n}{2}$次 对于四条边的一个循环遍历 判断$n$的奇偶性,如果为奇数最后再循环终点即矩阵中心填上$n
阅读全文
posted @
2023-03-29 12:12
Coeleone
阅读(67)
推荐(0)
删除链表的第N个节点|栈、双指针
摘要:删除链表的倒数第N个节点 类似于删除链表中的第N个节点,但是这里是倒数第N个且不知道链表的长度,如果用删除第N个节点的方法去解决问题的时候需要先知道链表的长度。这就需要遍历一遍链表,然后删除还需要再遍历一遍所以这会增大开销,但不失为一种方法。这里给出两种不需要知道链表长度的解题方法,使用栈和双指针法
阅读全文
posted @
2023-03-29 12:11
Coeleone
阅读(69)
推荐(0)
两数组的交集|哈希集
摘要:两个数组的交集 寻找两个数组相同的元素,注意返回元素的唯一性 ==对应题目349. 两个数组的交集== 哈希集合 使用两个哈希集合,第一个保存前一个数组的元素,第二个集合遍历第二个数组,如果发现有相同的元素放入第二个集合中,最后因为要返回数组即将集合转化为数组即可。分析复杂度,需要遍历两个数组所以时
阅读全文
posted @
2023-03-29 12:06
Coeleone
阅读(35)
推荐(0)
移除链表元素
摘要:移除链表元素 移除一个链表中的指定元素,这里给出三种方法,新建链表、迭代、递归 ==对应题目203. 移除链表元素==🪄 新建链表 首先创建一个新的链表,再遍历需要进行移除元素的链表。如果遇到与目标元素值不相等的情况,那么新建一个节点然后把值传给这个节点。逐一操作最后得到一个新的链表,那么这个链表
阅读全文
posted @
2023-03-21 22:13
Coeleone
阅读(53)
推荐(0)
螺旋矩阵
摘要:螺旋矩阵 一道经典的二维数组循环题目,难点是边界值的把握 ==对应题目59. 螺旋矩阵 II==🎶 模拟法 螺旋矩阵的产生步骤大致为这3步。 先判断需要螺旋几次,给出结论需要螺旋$\frac{n}{2}$次 对于四条边的一个循环遍历 判断$n$的奇偶性,如果为奇数最后再循环终点即矩阵中心填上$n
阅读全文
posted @
2023-03-20 15:25
Coeleone
阅读(55)
推荐(0)
长度最小的子数组|滑动窗口
摘要:长度最小的子数组 经典求子数组的一类题目,这里也给出两种方法,一种为暴力法,另一种为滑动窗口 ==对应题目209. 长度最小的子数组==🪄 暴力法 使用两层for循环挨个遍历每个元素起始的子数组之和是否满足要求,最后再逐一比较子数组长度,找到最小的长度。分析时间复杂度,由于使用两层循环所以应为==
阅读全文
posted @
2023-03-18 19:31
Coeleone
阅读(56)
推荐(0)
有序数组的平方|双指针
摘要:有序数组的平方 有序数组的平方主要涉及两种算法,一种是直接暴力法,另一种是双指针 *==对应题目977. 有序数组的平方==*🎶 暴力法 定义一个新数组,再将原数组中的所有元素平方后存入新数组,最后利用快排进行排序,这里的时间复杂度取决于快排,所以是==O($n\log_{2}{n}$)==,空间
阅读全文
posted @
2023-03-17 16:32
Coeleone
阅读(38)
推荐(0)
移除数组元素
摘要:移除数组元素 移除数组元素主要有两种情况,一种是移除单个元素,另一种是移除多个元素。 这里讨论的情形为,移除的元素为数组中可能存在重复的某个元素 ==对应题目27. 移除元素==💫 移除单个元素 移除单个元素,我们通常会想得到将此元素之后的元素前移从而完成元素的移除操作。这样做的时间复杂度为==O
阅读全文
posted @
2023-03-17 00:16
Coeleone
阅读(114)
推荐(0)