- 博客(54)
- 收藏
- 关注
原创 代码随想录算法训练营五十二天|图论part10
Bellman_ford算法优化、使用Bellman_ford算法判断是否存在负权回路、Bellman_ford算法处理单源有限最短路问题
2025-08-30 23:19:31
1476
原创 代码随想录算法训练营第三十八天、三十九天|动态规划part11、12
本文总结了LeetCode中关于字符串和数组的动态规划问题,包括最长公共子序列、最大子数组和、编辑距离等经典题目。通过分析dp数组的定义、递推公式、初始化和遍历顺序,提供了详细的解题思路和代码实现。其中最长公共子序列问题(1143)和不相交的线问题(1035)本质相同,而编辑距离问题(72)则扩展了删除操作,增加了替换和插入操作。这些题目都采用二维动态规划解决,时间复杂度为O(mn),空间复杂度可通过优化降至O(n)。
2025-08-08 20:57:42
2306
原创 代码随想录算法训练营二十四天|贪心part02
122.买卖股票的最佳时机II、55.跳跃游戏、45.跳跃游戏II、1005.K次取反后最大化的数组和
2025-07-23 16:34:14
1083
原创 二叉树的总结
本文总结了二叉树和二叉搜索树的核心算法,包括遍历方法、属性计算、修改构造及公共祖先问题。主要内容如下: 遍历方法:详细讲解了递归和迭代的前序、中序、后序遍历,以及层序遍历的实现 二叉树属性:包括判断对称性、计算深度/节点数、路径和、左叶子求和等 修改构造:翻转二叉树、合并二叉树、构造二叉树等操作 二叉搜索树特性:验证BST、最小绝对差、众数查找、转换为累加树 公共祖先问题:普通二叉树和BST的最近公共祖先查找 修改操作:BST的插入、删除、修剪和构造等
2025-07-17 17:42:40
2305
原创 代码随想录算法训练营十八天|二叉树part08
摘要:本文介绍了LeetCode上三道二叉搜索树相关题目的解法。699题要求修剪二叉搜索树,保留指定范围内的节点,提供了递归和迭代两种解法。108题将有序数组转换为平衡二叉搜索树,采用分治思想,选取中间节点为根节点递归构建。538题将二叉搜索树转换为累加树,通过右-中-左顺序遍历并累加节点值实现。三题都利用了二叉搜索树的性质,分别涉及递归修剪、分治构建和逆序遍历累加等技巧,展示了处理二叉搜索树的常见方法。
2025-07-17 15:28:18
1288
原创 代码随想录算法训练营十七天|二叉树part07
本文介绍了LeetCode中关于二叉搜索树的三个常见操作:最近公共祖先、节点插入和节点删除。对于最近公共祖先问题,利用二叉搜索树的有序特性,通过比较节点值确定搜索方向(左/右子树)。节点插入操作通过遍历找到合适位置插入新节点。节点删除操作需考虑五种情况,重点处理左右子树都存在时,将左子树挂到右子树最左节点的左孩子上。文章提供了递归和迭代两种实现方式,并详细说明了每种操作的逻辑思路和代码实现。
2025-07-16 22:40:22
1282
原创 代码随想录算法训练营十六天|二叉树part06
本文介绍了三个二叉树的LeetCode题解: 二叉搜索树的最小绝对差(LeetCode530):通过中序遍历将二叉搜索树转为有序数组,计算相邻节点的差值最小值。提供了递归和迭代两种解法。 二叉搜索树中的众数(LeetCode501):利用中序遍历的有序性,统计相邻节点的频率,找出出现频率最高的元素。给出了哈希表统计和单次遍历优化的两种方法。 二叉树的最近公共祖先(LeetCode236):采用后序遍历自底向上查找,若某节点的左右子树分别包含目标节点p和q,则该节点即为最近公共祖先。代码简洁,逻辑清晰。
2025-07-15 16:31:33
867
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅