logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

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
LeetCode 71. 简化路径:详细解析 + 代码实战

LeetCode 71题“简化路径”要求将Unix风格的绝对路径转换为规范路径,需处理无效的.、..和连续斜杠。解题核心是栈结构:拆分路径后用栈模拟目录进退(有效目录入栈,..时出栈),最终用/连接栈内容并添加首斜杠。关键点包括:忽略空串和.、处理..时检查栈非空、避免多余斜杠。代码时间复杂度O(n),空间复杂度O(n),适合巩固字符串与栈的基础应用。典型测试用例验证了算法的正确性。

文章图片
#leetcode#算法#职场和发展
LeetCode热题150详解

本文总结了数组与字符串的五大核心解题模型:双指针、滑动窗口、二分查找、前缀和、哈希映射。通过典型例题解析,展示了如何高效解决合并有序数组(88题)、移除元素(27题)、有序数组去重(26题)、多数元素(169题)和轮转数组(189题)等问题。重点介绍了逆序双指针、快慢指针、摩尔投票法和三次反转等优化算法,在保证时间复杂度O(n)的同时实现原地操作。每种题型都提供了最优解法和简易解法,并分析了复杂度

文章图片
#前端#开发语言#后端 +2
吃透现代CSS全技术体系

本文系统剖析了CSS开发的三大主流技术方案及其应用场景。原生CSS作为浏览器原生支持的基础方案,适合简单项目但存在全局污染问题;CSS预处理器(如Sass)通过变量、嵌套等编程特性提升开发效率,但仍无法解决样式隔离问题;原子化CSS(如Tailwind)采用拼装式开发模式,实现极致的开发效率和团队规范统一。文章还深入解析了PostCSS等进阶技术,帮助开发者构建完整的CSS工程化知识体系,解决项目

文章图片
#css#前端#sass +2
    共 21 条
  • 1
  • 2
  • 3
  • 请选择