LeetCode
文章平均质量分 74
LuckyLay
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LeetCode算法题(Go语言实现)_62
递推关系:发现状态转移方程dp[n] = 2*dp[n-1] + dp[n-3]滚动数组优化:仅维护前三个状态值降低空间复杂度边界处理:直接处理n=0,1,2的特殊情况原创 2025-05-08 20:30:00 · 900 阅读 · 0 评论 -
LeetCode算法题(Go语言实现)_60
方法优势适用场景动态规划最优时间复杂度常规需求递归+记忆化代码直观教学演示矩阵快速幂O(log n)时间复杂度极大n值计算。原创 2025-04-24 20:30:00 · 681 阅读 · 0 评论 -
LeetCode算法题(Go语言实现)_59
方法优势适用场景迭代法最优空间效率常规需求矩阵快速幂O(log n)时间复杂度极大n值计算记忆化递归代码直观小规模计算。原创 2025-04-24 19:30:00 · 595 阅读 · 0 评论 -
LeetCode算法题(Go语言实现)_55
方法优势适用场景二分法O(log n)时间复杂度单峰/多峰查找线性扫描简单直观数据量较小分治法并行计算潜力特殊结构数据。原创 2025-04-22 20:00:00 · 435 阅读 · 0 评论 -
LeetCode算法题(Go语言实现)_54
方法优势适用场景二分查找时间效率高静态数据查询线性扫描无需预处理小规模数据哈希预处理快速查询频繁重复查询。原创 2025-04-21 21:45:00 · 720 阅读 · 0 评论 -
LeetCode算法题(Go语言实现)_53
方法优势适用场景二分查找最优时间复杂度有序数据范围三分查找减少迭代次数特定分布数据随机猜测避免最坏情况对抗性输入场景。原创 2025-04-21 20:00:00 · 453 阅读 · 0 评论 -
LeetCode算法题(Go语言实现)_51
方法优势适用场景贪心+优先队列时间效率高需要动态维护最大值暴力枚举实现简单小规模数据动态规划可处理复杂约束需要状态转移的情况。原创 2025-04-17 20:00:00 · 1247 阅读 · 0 评论 -
LeetCode算法题(Go语言实现)_50
方法优势适用场景堆+集合动态维护高效频繁添加/弹出操作纯集合遍历实现简单低频操作场景平衡树查询删除统一复杂度需要范围查询。原创 2025-04-16 20:30:00 · 962 阅读 · 0 评论 -
LeetCode算法题(Go语言实现)_49
方法优势适用场景快速选择平均O(n)大规模数据求Top k堆适合动态数据实时处理流数据排序后取数实现简单小规模数据。原创 2025-04-16 20:00:00 · 773 阅读 · 0 评论 -
LeetCode算法题(Go语言实现)_48
方法优势适用场景BFS保证最短时间常规网格扩散问题DFS空间效率高路径存在性验证并查集动态连接关系维护需要持续更新感染关系。原创 2025-04-15 22:21:46 · 490 阅读 · 0 评论 -
LeetCode算法题(Go语言实现)_47
方法优势劣势适用场景BFS保证最短路径空间消耗较大常规迷宫搜索DFS空间效率高无法保证最短路径路径存在性验证A*算法启发式搜索效率高需设计启发函数大型迷宫优化搜索。原创 2025-04-15 21:51:46 · 1848 阅读 · 0 评论 -
LeetCode算法题(Go语言实现)_46
方法优势劣势适用场景带权并查集查询高效,支持动态合并实现复杂度较高大规模数据集和频繁查询DFS/BFS实现简单重复计算,时间复杂度高小规模数据或低频查询。原创 2025-04-14 20:30:00 · 1775 阅读 · 0 评论 -
LeetCode算法题(Go语言实现)_45
逆向树遍历:通过反向构建树形结构确保连通性[^-方向标记法:用0/1区分原始边方向实现快速判断线性时间复杂度:BFS/DFS均实现O(n)高效计算。原创 2025-04-14 20:00:00 · 1966 阅读 · 0 评论 -
LeetCode算法题(Go语言实现)_44
图的连通分量:将问题转化为求无向图的连通分量数高效遍历:利用DFS/BFS避免重复计算。原创 2025-04-13 21:13:26 · 395 阅读 · 0 评论 -
LeetCode算法题(Go语言实现)_43
钥匙即边:将钥匙视为图中的边,问题转化为图的连通性判断高效遍历:使用BFS确保每个房间只处理一次。原创 2025-04-13 21:10:29 · 434 阅读 · 0 评论 -
LeetCode算法题(Go语言实现)_42
后继节点替换:保持BST性质的关键操作递归统一处理:简化三种删除情况的代码实现。原创 2025-04-12 22:13:44 · 652 阅读 · 0 评论 -
LeetCode算法题(Go语言实现)_41
性质利用:充分发挥BST的有序特性短路返回:找到目标立即返回,避免不必要的搜索。原创 2025-04-12 22:10:15 · 521 阅读 · 0 评论 -
LeetCode算法题(Go语言实现)_40
层级聚合策略:利用BFS天然分层特性实现高效统计极值双维护机制:同步维护最大值和最小层号两个状态量。原创 2025-04-11 20:30:00 · 1196 阅读 · 0 评论 -
LeetCode算法题(Go语言实现)_38
状态传递:利用递归返回值携带子树搜索信息短路优化:发现目标节点后立即停止子树搜索。原创 2025-04-10 22:30:00 · 772 阅读 · 0 评论 -
LeetCode算法题(Go语言实现)_36
方法优势劣势适用场景双重递归实现简单时间复杂度高小规模树(n<1000)前缀和线性时间复杂度需要维护哈希表状态大规模树。原创 2025-04-08 22:44:55 · 965 阅读 · 0 评论 -
LeetCode算法题(Go语言实现)_35
路径最大值传递:通过递归参数动态维护路径最大值高效计数机制:仅需单次遍历即可完成所有判断空间优化:利用递归栈替代显式栈结构。原创 2025-04-08 22:41:27 · 455 阅读 · 0 评论 -
LeetCode算法题(Go语言实现)_34
递归分治策略:将复杂问题分解为子树处理顺序保障机制:左子树优先遍历确保叶序一致性内存优化设计:Go语言切片操作避免全局变量。原创 2025-04-07 20:30:00 · 380 阅读 · 0 评论 -
LeetCode算法题(Go语言实现)_33
分治思想:将复杂问题分解为可重复解决的子问题空间优化:递归法空间复杂度仅与树高相关遍历统一:层序遍历框架可扩展用于求平均值、右视图等问题。原创 2025-04-07 20:00:00 · 459 阅读 · 0 评论 -
LeetCode算法题(Go语言实现)_32
三段式处理:将问题分解为链表分割、反转、求和的独立模块(网页2、4)空间优化:通过原地反转避免数组存储,实现O(1)空间复杂度对称访问机制:利用链表反转实现自然对称遍历(网页5)原创 2025-04-05 20:15:00 · 646 阅读 · 0 评论 -
LeetCode算法题(Go语言实现)_31
三指针黄金法则:prev/current/nextTemp组合实现高效反转数学归纳证明:局部反转的正确性保证全局正确。原创 2025-04-05 19:30:00 · 617 阅读 · 0 评论 -
LeetCode算法题(Go语言实现)_30
链式跳跃:通过直接跳过偶数节点,避免多次遍历数学归纳法证明:奇数节点的下一个节点总是偶数节点的下一个节点,确保正确性。原创 2025-04-04 22:32:36 · 483 阅读 · 0 评论 -
LeetCode算法题(Go语言实现)_29
单次遍历优化:相比两次遍历法(先计算长度再删除),快慢指针法将时间复杂度优化至严格O(n)前驱动态维护:通过pre指针的同步更新,避免删除时二次遍历查找前驱节点。原创 2025-04-04 22:26:24 · 620 阅读 · 0 评论 -
LeetCode算法题(Go语言实现)_22
集合存在性验证:通过字符存在位图快速排除异构字符集频率可交换性:排序操作将离散频率分布转化为可比序列。原创 2025-03-31 21:48:57 · 1036 阅读 · 0 评论 -
LeetCode算法题(Go语言实现)_21
数学本质:集合论中的单射关系验证(频率集合与原集合大小相等)工程优化:利用哈希表与集合的 O(1) 查询特性实现高效判断扩展应用词频分析:验证文本中单词出现次数的唯一性数据校验:检测日志中事件发生次数的唯一性流式处理:结合布隆过滤器处理大规模数据流。原创 2025-03-31 21:45:03 · 576 阅读 · 0 评论 -
LeetCode算法题(Go语言实现)_20
数学本质:集合运算的差集操作(A - B 和 B - A)工程优化:哈希表去重与存在性检查的 O(1) 时间复杂度优势扩展应用多数组对比:扩展至 N 个数组的差异分析流式处理:使用布隆过滤器处理超大数据流数据同步:识别数据库表之间的差异记录。原创 2025-03-30 22:01:55 · 615 阅读 · 0 评论 -
LeetCode算法题(Go语言实现)_19
数学本质:利用总和公式快速判断平衡点工程优化:通过一次遍历完成总和计算和动态调整,避免内存分配扩展应用二维平衡点:在矩阵中寻找行列和相等的坐标多删除场景:允许删除多个元素时的最长子数组问题动态更新:流式数据中实时维护左右和(需结合树状数组)原创 2025-03-30 21:58:15 · 460 阅读 · 0 评论 -
LeetCode算法题(Go语言实现)_18
算法优势:通过动态规划思想将空间复杂度优化至常数级别,避免存储完整海拔序列工程价值:适用于实时海拔监控系统,如骑行导航软件中的高程提示功能扩展应用地形高程分析(结合GPS轨迹数据)运动体能消耗计算(基于累计爬升高度)三维路径渲染优化(快速定位最高点)原创 2025-03-29 09:16:53 · 835 阅读 · 0 评论 -
LeetCode算法题(Go语言实现)_17
核心创新:将删除操作转化为允许1个0的窗口问题,通过动态边界调整避免重复计算数学证明:最大有效窗口长度L满足L ≤ n-1,且必然覆盖最优解的可能性优化亮点整数运算避免浮点精度问题全1数组的特殊处理提升边界条件鲁棒性应用扩展网络传输质量控制(允许少量丢包)DNA序列分析(寻找保守片段)用户行为建模(连续活跃天数统计)原创 2025-03-29 09:08:48 · 498 阅读 · 0 评论 -
LeetCode算法题(Go语言实现)_16
窗口动态调整:通过zeroCnt计数器的状态机式管理,实现线性时间复杂度无效位置跳跃:当窗口收缩时,左指针可直接跳转到首个无效0的后一位,减少冗余计算。原创 2025-03-28 21:00:00 · 392 阅读 · 0 评论 -
LeetCode算法题(Go语言实现)_15
增量计算:通过窗口两端操作将时间复杂度从O(nk)优化到O(n)位运算优化:将元音判断转换为位掩码操作(如。原创 2025-03-28 20:00:00 · 467 阅读 · 0 评论 -
LeetCode算法题(Go语言实现)_07
•核心逻辑:通过左右分解避免重复计算,两次遍历实现高效求解。•优化关键:复用输出数组存储中间结果,空间复杂度从O(n)优化至O(1)。•适用场景:类似“利用前后缀信息”的问题(如统计前后缀最大值、求和等)。原创 2025-03-21 19:00:00 · 776 阅读 · 0 评论 -
LeetCode算法题(Go语言实现)_11
核心逻辑:双指针法通过同步遍历快速判断子序列关系,时间复杂度为O(n);预处理方法通过空间换时间优化高频查询场景。优化点双指针法的贪心策略确保匹配位置的最左对齐,避免回溯。预处理方法利用哈希表+二分查找将单次查询复杂度降为O(mlogk)。应用场景:实时数据流中的子序列匹配(如日志分析)、高频查询系统设计(如API服务)。原创 2025-03-26 19:30:00 · 932 阅读 · 0 评论 -
LeetCode算法题(Go语言实现)_14
核心创新:将传统O(nk)暴力法优化为O(n)线性算法,通过窗口滑动实现高效增量计算数学证明:设数组长度为n,滑动窗口共进行(n-k)次移动,完整覆盖所有可能子数组优化亮点消除重复计算,每次窗口更新仅需两次算术运算整数运算避免浮点精度损失,最后统一转换结果适用场景:实时数据流分析、大规模时序数据处理等需要高效计算的场景。原创 2025-03-27 20:30:00 · 933 阅读 · 0 评论 -
LeetCode算法题(Go语言实现)_12
核心创新:通过移动短板的策略,在宽度递减的过程中寻找高度增益的可能性数学证明设最优解为(i,j),双指针法必会遍历到该解。若i先被移动,则必有j'为当时右指针),这与最优解矛盾应用场景:实时水位监测系统、图形学中的最大区域计算等。原创 2025-03-26 20:00:00 · 535 阅读 · 0 评论 -
LeetCode算法题(Go语言实现)_10
•核心创新:通过双指针动态分区实现零元素归位,类似快速排序的partition操作•关键优势单次遍历完成操作完美保持非零元素原始顺序支持任意数字类型(正负整数、浮点数)•数学证明设数组含k个非零元素,经过n次遍历后:• 前k个位置必定存储原始非零元素• 后n-k个位置自动填充零元素•应用场景数据清洗、内存压缩、实时数据处理等需要高效原地操作的场景。原创 2025-03-24 20:00:00 · 366 阅读 · 0 评论
分享