算法
文章平均质量分 64
CJCChester
这个作者很懒,什么都没留下…
展开
-
算法刷题记录6 - 反转链表和链表两两交换
这道题和上一道有非常的类似,都是链表节点指针变换,区别在于边界值判断和怎么改变指针。过程(黑色是原先的指针,红色是处理后的指针),然后为什么要保存这么多节点呢?还和上一题一样。以上面这个图为例,cur指向2,那么cur指向1的指针就断了,2可找不到1,所以提前firstnode记下;继续,2要指向1,那么2到3就断了,3是下一个操作区间的起点,所以也要提前记下……原创 2023-10-29 16:09:16 · 203 阅读 · 0 评论 -
算法刷题记录5 - 链表1 - 2023.10.17
一轮学习,代码随想录链表部分原创 2023-10-17 22:15:50 · 64 阅读 · 0 评论 -
算法刷题记录4 螺旋矩阵
螺旋矩阵,比如给一个n或者一维数组,顺时针读,输出一个二维数组;或者反过来,给n平方或者m×n的一个二维数组,顺时针读取数组元素,输出一个一维数组。当然应该也有逆时针,但这里没有这个示例。这个题乍一看是上一题的反向,但是用上一题的每条边终点留给下一条边起点就有点坑。while里四个循环不能循环完,总是会空出一行或者一列没填,再补就麻烦了。原创 2023-10-17 00:15:09 · 91 阅读 · 0 评论 -
算法刷题记录3 二分查找
二分查找就是用两个指针在一个有序数组上一起找,每次区间缩小一半,重点在区间的范围(两个指针)什么时候变更,变更成什么样子原创 2023-10-15 17:50:17 · 80 阅读 · 0 评论 -
算法刷题记录2 滑动窗口
跟学。滑动窗口就是一个特殊的双指针法,在暴力的基础上,用一趟循环两个指针来解决问题。窗口就是一个区间,有区间起点和终点,用两个指针记录。要用一趟循环解决,那么终点指针应该在外层,起点指针在内层。外层的终点指针先右移直到满足条件,此时内层的起点指针右移缩小窗口看是否依然满足条件。直到不满足,返回此时的起点和终点指针,也就找到了最小窗口。原创 2023-10-11 21:50:51 · 132 阅读 · 1 评论 -
算法刷题记录1 双指针法
双指针法(Two Pointer Technique)是一种常用的算法思想,特别适用于数组和链表等线性数据结构的问题。这种情况下,两个指针分别从数组的两端开始移动,向中间靠拢。它通常用来解决需要从两个方向逼近的问题,例如在有序数组中寻找两个数的和等于目标值。这种情况下,两个指针以不同的速度移动。一个指针移动得快(快指针),另一个指针移动得慢(慢指针)。它通常用来解决链表中的问题,如判断链表是否有环,找到链表的中间节点等。这种情况下,两个指针都从数据结构的同一端开始移动。原创 2023-09-24 09:55:10 · 81 阅读 · 0 评论