首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
通俗易懂讲算法
沐怡旸
创建于2025-09-02
订阅专栏
通俗易懂的方式讲解算法
暂无订阅
共35篇文章
创建于2025-09-02
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
【算法】2058.找出临界点之间的最小和最大距离--通俗讲解
遍历链表,找到所有临界点(比前后节点都大或都小的节点),记录它们的位置,然后计算相邻临界点的最小距离和首尾临界点的最大距离。 这就像在一座座山峰和山谷中,找出相邻山峰/山谷之间的最短距离和最远距离。
【算法】725.分割链表--通俗讲解
先计算链表总长度,确定每部分的基本长度和需要额外加1的部分数量,然后遍历链表进行分割。这就像把一列人分成k个小组,先数总人数,然后计算每组大概多少人,尽量让每组人数差不多,前面组的人可以比后面组多一个
【算法】1171.从链表中删去总和值为零的连续节点--通俗讲解
使用前缀和和哈希表:计算累加和,如果某个累加和重复出现,说明这两个位置之间的节点和为0,可以删除。 这就像记账时,如果某两个时间点的余额相同,说明中间这段时间的收支总和为0,可以把这段时间的记录删除
【算法】1019.链表中的下一个更大节点--通俗讲解
使用单调栈:遍历链表,维护一个单调递减的栈,当遇到比栈顶元素大的节点时,说明找到了栈顶元素的下一个更大节点
【算法】445.两数相加Ⅱ--通俗讲解
使用栈来反转链表顺序,从最低位开始相加,处理进位,然后用头插法构建结果链表。 这就像我们做竖式加法一样,从个位开始加,有进位就加到下一位,只是这里数字是链表形式存储的
【算法】876.链表的中间结点--通俗讲解
使用快慢指针法:快指针每次走两步,慢指针每次走一步。当快指针到达链表末尾时,慢指针正好在中间位置。 这就像两个人赛跑,一个人跑得快(每次两步),一个人跑得慢(每次一步)
【算法】430.扁平化多级双向链表--通俗讲解
使用深度优先搜索(DFS),当遇到有子节点的节点时,先处理子链表,将子链表插入到当前节点和下一个节点之间,然后继续处理
【算法】426.将二叉搜索树转化为排序的双向链表--通俗讲解
利用二叉搜索树的中序遍历特性(遍历结果有序),在遍历过程中调整节点指针,将左指针指向前驱节点,右指针指向后继节点,最后将头尾节点连接形成循环链表
【算法】【链表】382.链表随机节点--通俗讲解
使用水库抽样算法:遍历链表,对于每个节点,以1/i的概率选择当前节点(i是当前节点的索引),从而保证每个节点被选中的概率相等
【算法】【链表】给单链表加一--通俗讲解
从最低位开始加1,处理进位问题。由于链表头是最高位,我们需要反向遍历链表,但单链表只能正向遍历,所以可以使用递归或反转链表的方法来模拟从低位到高位的操作
【算法】【链表】328.奇偶链表--通俗讲解
使用两个指针分别构建奇数链表和偶数链表,遍历原链表,将奇数节点连接在一起,偶数节点连接在一起,最后将偶数链表头连接到奇数链表尾
【算法】【链表】237.删除链表中的节点--通俗讲解
将当前节点的值替换为下一个节点的值,然后将当前节点的next指针指向下一个节点的下一个节点,从而跳过下一个节点。这相当于删除了当前节点,因为它的值被覆盖了
【算法】234.回文链表--通俗讲解
使用快慢指针找到链表中点,反转后半部分链表,然后比较前半部分和反转后的后半部分是否相同。 这就像把链表从中间折断,反转后半段,然后比较两段是否匹配,就像检查镜子中的影像是否与原物一致
【算法】【链表】206.反转链表--通俗讲解
使用三个指针:prev、curr和next。遍历链表,将每个节点的next指针指向前一个节点,直到所有节点都反转
【算法】【链表】203.移除链表元素--通俗讲解
使用虚拟头节点简化操作,遍历链表,当遇到值等于目标值的节点时,跳过该节点(即修改前一个节点的next指针)
【算法】【链表】160.相交链表--通俗讲解
使用双指针法,两个指针分别从两个链表的头开始遍历,当指针到达链表末尾时,切换到另一个链表的头部继续遍历。如果链表相交,指针会在相交节点相遇;否则,会同时到达null
【算法】【链表】148.排序链表--通俗讲解
使用归并排序算法,通过快慢指针找到链表中点,将链表分成两半,递归排序每半部分,然后合并两个有序链表。 这就像把一堆乱序的卡片分成两堆,分别排序,然后再把两堆有序的卡片合并成一堆有序的卡片
【算法--链表】147.对链表进行插入排序--通俗讲解
使用一个虚拟头节点来简化操作,维护一个已排序的链表部分,然后逐个取出未排序的节点,在已排序部分中找到合适的插入位置并插入。 这就像我们打扑克牌时,一张一张地拿牌,然后把每张牌插入到手中已排序牌的正确
【算法--链表】146.LRU缓存--通俗讲解
使用哈希表+双向链表。哈希表保证get操作O(1),双向链表维护使用顺序(最近使用的在头,最久未使用的在尾),保证put操作O(1)
【算法--链表】143.重排链表--通俗讲解
使用快慢指针找到链表中点,将链表分成前后两半,反转后半部分链表,然后像“拉链”一样交替合并前后两个链表。 这就像把链表从中间折断,反转后半段,然后像拉链一样将两段链表交错合并
下一页