logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

LeetCode 322. 零钱兑换:动态规划入门实战

本文详细解析了LeetCode 322零钱兑换问题,这是一个经典的动态规划入门题。文章从题目解读开始,分析了问题核心与关键条件,解释了为何使用动态规划而非暴力枚举。重点讲解了动态规划数组的设计与初始化、状态转移方程的推导过程,并逐行拆解了完整代码。通过测试用例验证了代码的正确性,指出了常见坑点和注意事项,最后总结了动态规划的通用解题步骤。全文以清晰的逻辑和详细的分析,帮助读者掌握动态规划的核心思想

文章图片
#leetcode#动态规划#算法 +2
LeetCode 120. 三角形最小路径和:动态规划详解

本文介绍了LeetCode动态规划经典题目「三角形最小路径和」的解题思路与代码实现。通过分析题目特性,采用动态规划方法构建状态转移方程,从二维数组解法逐步优化到一维空间复杂度。关键点包括:正确处理边界条件(首尾列)、理解状态转移逻辑(取上层相邻最小值)、最终取末行最小值作为结果。文章提供了TypeScript代码示例,并通过测试案例验证正确性,同时指出了常见错误如初始化不当和空间优化时的更新顺序问

文章图片
#leetcode#动态规划#算法 +3
LeetCode 42. 接雨水:双指针解法深度剖析与全方法汇总

本文系统解析LeetCode经典题目「42.接雨水」,重点探讨三种主流解法:双指针法(最优O(n)时间O(1)空间)、前缀/后缀数组法(直观但需O(n)空间)和单调栈法(层叠视角)。通过代码优化示例和复杂度分析,阐明各解法特点:双指针适合空间敏感场景,前缀/后缀数组便于理解,单调栈提供独特解题视角。文章强调抓住“边界最大值决定水量”的核心逻辑,建议面试优先掌握双指针法,同时理解其他思路以展现深度认

文章图片
#leetcode#算法#typescript +1
LeetCode 1. 两数之和:两种高效解法(双指针 + Map)

本文介绍了LeetCode经典题目“两数之和”的两种解法:双指针法和哈希表法。双指针法通过排序后调整指针位置寻找解,需注意保存原始索引,时间复杂度为O(n log n)。哈希表法则利用空间换时间,通过Map快速查找互补数,时间复杂度优化至O(n),是最优解法。文章详细解析了两种方法的实现细节、避坑点和适用场景,并提供了TypeScript代码示例。总结指出哈希表法是推荐首选,同时强调理解题目约束条

文章图片
#leetcode#算法#前端 +2
LeetCode 201. 数字范围按位与:位运算高效解题指南

本文深入解析了LeetCode「数字范围按位与」问题的位运算解法。通过分析按位与的特性,指出暴力遍历法效率低下的问题,提出了基于公共前缀的高效算法:通过不断右移left和right找到它们的公共前缀,然后左移补零得到最终结果。文章详细解释了算法原理,提供了TypeScript代码实现,并通过具体示例验证了方法的正确性,同时讨论了边界情况的处理。该解法将时间复杂度优化至O(log n),展示了位运算

文章图片
#leetcode#算法#开发语言 +3
LeetCode 53. 最大子数组和:两种高效解法(动态规划+分治)

本文介绍了LeetCode经典题目「最大子数组和」的两种高效解法。动态规划解法通过状态转移方程在O(n)时间内求解,空间复杂度O(1),是面试首选。分治解法采用递归拆分合并策略,时间复杂度O(nlogn),虽效率稍低但思路通用,适用于复杂区间问题。两种方法分别体现了动态规划的最优子结构思想和分治的"分而治之"理念,对理解算法核心思想具有重要意义。文章通过代码示例和详细分析,帮助读者掌握两种解法的实

文章图片
#leetcode#动态规划#算法 +2
LeetCode 226. 翻转二叉树:两种解法(递归+迭代)详解

本文详解LeetCode简单题"翻转二叉树"的两种解法:递归(DFS)和迭代(BFS)。递归解法通过自顶向下遍历节点并交换左右子树,时间复杂度O(n),空间复杂度O(h);迭代解法利用队列逐层处理节点,空间复杂度O(n)但避免递归栈溢出风险。文章包含完整代码实现、详细步骤解析、两种方法的对比表格及常见易错点提醒,帮助读者掌握二叉树的基本操作和遍历思路,适合算法初学者学习二叉树处理技巧。

文章图片
#leetcode#算法#前端 +2
LeetCode 106. 从中序与后序遍历序列构造二叉树:题解+思路拆解

本文详细解析了如何通过中序和后序遍历序列构造二叉树。解题关键在于利用后序遍历的最后一个元素确定根节点,再结合中序遍历划分左右子树,采用分治思想递归构建。文章从遍历规则回顾、分治步骤拆解到完整代码实现(TypeScript)逐步展开,重点剖析了区间划分的易错点,并引入哈希表优化查询效率。最终实现的时间复杂度为O(n),适合二叉树算法练习者深入学习。

文章图片
#leetcode#数据结构#算法 +2
LeetCode 11. 盛最多水的容器:双指针优化全解析

本文解析了LeetCode中等难度题目"盛最多水的容器"的双指针解法。文章首先明确题目要求是寻找两条垂线构成最大容量的容器,指出暴力枚举法的时间复杂度缺陷。核心部分详细阐述了双指针算法的贪心思想:初始化两指针后,每次移动较矮的指针以寻找更大容量。针对给定代码,提出了三项优化:边界条件处理、减少数组重复访问和逻辑简化,并给出了优化后的TypeScript实现。最后强调该算法已达到

文章图片
#leetcode#算法#typescript +1
EventSource & WebSocket & HTTP

本文介绍了两种实时通信技术:EventSource(SSE)和WebSocket。EventSource是基于HTTP的单向服务器推送技术,适合公告、状态更新等简单场景,具有自动重连、轻量级特点。WebSocket则是全双工双向通信协议,适合聊天、游戏等交互场景,建立连接后双方可实时收发数据。文章详细对比了两者的特点、使用场景和实现方式,并提供了前端代码示例和服务器端配置要求,帮助开发者根据实际需

文章图片
#websocket#http#网络协议 +4
    共 24 条
  • 1
  • 2
  • 3
  • 请选择