- 博客(196)
- 收藏
- 关注
原创 前端工程化 Mock 数据原理与实践
Mock数据是前端工程化中实现前后端并行开发的关键工具,其核心价值在于提供高仿真接口数据,帮助前端提前调试交互逻辑并覆盖异常场景。当前主流Mock方案需围绕仿真度、易用性和灵活性三大维度评估,通过请求拦截与动态数据生成机制实现无缝对接。传统方案如Mock.js已停止维护,现代实践更倾向于结合faker.js等工具生成真实业务数据,或通过Apifox等平台实现文档与Mock一体化。Mock数据不仅能缩短开发周期,还能降低协作成本,是提升前端工程效率的重要环节。
2026-05-10 15:22:23
295
原创 LeetCode热题150详解
本文总结了数组与字符串的五大核心解题模型:双指针、滑动窗口、二分查找、前缀和、哈希映射。通过典型例题解析,展示了如何高效解决合并有序数组(88题)、移除元素(27题)、有序数组去重(26题)、多数元素(169题)和轮转数组(189题)等问题。重点介绍了逆序双指针、快慢指针、摩尔投票法和三次反转等优化算法,在保证时间复杂度O(n)的同时实现原地操作。每种题型都提供了最优解法和简易解法,并分析了复杂度与易错点,帮助读者掌握线性序列类题目的通用解题思路。
2026-05-05 12:26:35
546
原创 LeetCode 221. 最大正方形:两种解法吃透动态规划与暴力枚举
这篇文章详细解析了LeetCode 221题"最大正方形"的两种解法。暴力枚举法通过遍历每个'1'作为正方形左上角,逐步扩大边长判断是否全为'1',时间复杂度O(mnmin(m,n)),适合小矩阵。动态规划法定义dp[i][j]为以(i,j)为右下角的最大正方形边长,通过递推公式dp[i][j] = min(dp[i-1][j], dp[i][j-1], dp[i-1][j-1]) + 1,将时间复杂度优化到O(m*n),空间复杂度可进一步优化到O(n)。文章对比了两种方法的优劣,指出动态规划是面试最优解。
2026-05-05 12:17:44
341
原创 LeetCode 123. 买卖股票的最佳时机 III & 188. 买卖股票的最佳时机 IV
本文解析了LeetCode股票买卖系列中123题(最多2笔交易)和188题(最多k笔交易)的解题思路。这两题采用相似的动态规划方法:123题通过4个变量跟踪交易状态,188题则扩展为数组处理k次交易。核心都是通过状态转移(先买入后卖出)逐步优化利润,最终返回最大收益。123题是188题的特例(k=2),掌握这种动态规划模式可以解决各类有限次交易的股票问题。文章详细说明了状态定义、转移逻辑和代码实现,并对比了两题的异同,帮助读者理解这类问题的通用解法。
2026-05-04 12:08:48
334
原创 吃透现代CSS全技术体系
本文系统剖析了CSS开发的三大主流技术方案及其应用场景。原生CSS作为浏览器原生支持的基础方案,适合简单项目但存在全局污染问题;CSS预处理器(如Sass)通过变量、嵌套等编程特性提升开发效率,但仍无法解决样式隔离问题;原子化CSS(如Tailwind)采用拼装式开发模式,实现极致的开发效率和团队规范统一。文章还深入解析了PostCSS等进阶技术,帮助开发者构建完整的CSS工程化知识体系,解决项目选型、样式隔离、性能优化等实际问题。通过理解这些技术的设计理念和适用场景,开发者可以摆脱碎片化知识。
2026-05-03 21:23:53
608
原创 LeetCode 72. 编辑距离:动态规划经典题解
编辑距离是动态规划的经典问题,用于计算将一个字符串转换为另一个字符串所需的最少操作次数(插入、删除或替换)。解题关键在于定义dp[i][j]为word1前i个字符转换为word2前j个字符的最小操作数。边界条件是其中一个字符串为空时,操作数为另一字符串长度。状态转移分字符匹配(直接继承前一状态)和不匹配(取三种操作的最小值+1)。通过填充二维dp数组并返回dp[n][m]即可得到最终解。该问题体现了动态规划的最优子结构特性,是理解字符串处理类动态规划问题的重要范例。
2026-05-03 11:23:48
358
原创 深度剖析浏览器跨域问题
本文深入解析跨域问题的本质与解决方案。跨域是浏览器同源策略的安全机制,而非技术缺陷。文章从同源策略原理切入,区分简单请求与预检请求的差异,详细讲解8种主流跨域方案:CORS(生产首选)、前端代理(开发环境)、Nginx反向代理(企业级方案)、postMessage(跨窗口通信)、WebSocket(实时通信)等。每种方案均分析实现原理、配置方法、适用场景及优劣对比,涵盖开发到生产全流程的最佳实践,帮助开发者全面掌握跨域技术要点,应对各类实际业务场景。
2026-05-02 18:06:20
796
原创 LeetCode 97. 交错字符串:动态规划详解
这篇文章详细解析了LeetCode中等难度题目「交错字符串」的动态规划解法。文章首先明确了题目要求:判断字符串s3是否能由s1和s2交错组成。核心思路是通过动态规划将问题拆解为子问题,定义dp[i][j]表示s1前i个字符和s2前j个字符能否组成s3前i+j个字符。文章深入讲解了状态初始化、转移方程及边界条件,提供了完整的TypeScript代码实现,并指出了常见下标错误和空间优化方向。最后强调通过特殊测试用例验证代码正确性,帮助读者掌握这类字符串拼接问题的动态规划解法。
2026-05-02 12:32:06
407
原创 React 性能优化精讲
本文从浏览器底层渲染原理出发,系统讲解了React性能优化的核心方法论。首先剖析了浏览器渲染流水线中重排与重绘的性能影响,以及React虚拟DOM的优化价值。接着深入分析了React原生机制的四大性能缺陷:无条件递归更新、无自动缓存机制、浅比较局限性和同步阻塞渲染。针对组件层无效重渲染问题,提出了"先测速,后优化"的原则,详细介绍了React.memo、useMemo和useCallback三大记忆化API的适用场景与正确用法,形成完整的组件级缓存体系。
2026-05-01 17:54:09
602
原创 LeetCode 5. 最长回文子串:DP + 中心扩展
本文详解了LeetCode经典题「最长回文子串」的两种解法:动态规划法和中心扩展法。动态规划法通过构建二维数组记录子串状态,时间复杂度O(n²),空间复杂度O(n²),适合新手理解;中心扩展法利用回文对称性,从中心向两边扩散,空间优化至O(1)。两种方法均详细拆解了核心思路、代码实现和避坑要点,并通过测试用例验证正确性,帮助读者掌握回文子串问题的解决技巧。
2026-05-01 11:55:14
429
原创 LeetCode 63. 不同路径 II:动态规划解题详解
本文详细解析了LeetCode中等难度题目「63. 不同路径 II」的解题思路。该题目在经典动态规划问题的基础上增加了障碍物限制,要求计算机器人从网格左上角到右下角的不同路径数。文章从题目分析入手,阐述了动态规划的适用性,详细讲解了DP数组定义、递推公式和初始化方法,并提供了完整的代码解析和测试用例验证。此外,还介绍了空间复杂度优化方法(从O(mn)降到O(n))和常见错误点。核心要点包括:正确处理障碍物标记、边界条件处理、递推公式实现等,帮助读者掌握动态规划解决网格路径问题的通用方法。
2026-04-26 10:53:47
428
原创 LeetCode 64. 最小路径和:动态规划入门实战
这篇文章解析了LeetCode中等难度题目"64. 最小路径和"的动态规划解法。文章首先通过示例说明题目要求:在非负整数网格中,从左上角到右下角寻找路径和最小的路径(只能向右或向下移动)。然后详细阐述了动态规划的思路:利用重叠子问题和最优子结构特性,构建DP数组存储每个格子的最小路径和。代码实现部分展示了完整的TypeScript解法,包括初始化、双重循环遍历和边界处理,并提供了空间复杂度优化方案O(1)。最后总结了网格类DP问题的通用解题套路,包括DP数组定义、边界条件确定、状态转移方程建立等关键步骤。
2026-04-26 10:51:18
357
原创 HTML5 原生拖拽 API 实战案例与拓展避坑
本文系统讲解了HTML5原生拖拽API的实现方法,通过3个典型场景(基础拖拽、文件上传、列表排序)详细解析核心实现步骤。重点剖析了7个关键拖拽事件的生命周期及DataTransfer对象的数据传递机制,特别强调dragover事件必须阻止默认行为这一常见陷阱。每个案例均提供完整可运行的HTML/CSS/JS代码,并包含视觉反馈优化建议,既适合新手学习基础拖拽交互实现,也为开发者提供可复用的最佳实践方案。(149字)
2026-04-23 22:16:55
625
原创 HTML5 原生拖拽 API 基础原理与核心机制
本文深入解析HTML5原生拖拽API的核心原理与应用。首先明确拖拽源与放置目标两个核心角色,以及通过draggable属性启用拖拽功能的三种情况。详细拆解拖拽的底层运行流程,从初始化到拖拽开始、进行中、结束的完整过程。重点讲解拖拽事件体系,包括拖拽源的dragstart、drag、dragend事件和放置目标的dragenter、dragover、dragleave、drop事件,强调必须阻止dragover默认行为才能触发drop事件。通过代码示例演示如何实现基本拖拽交互,为开发者提供清晰的学习路径。
2026-04-22 20:28:22
887
原创 深度解析前端性能优化
前端性能优化是提升用户体验的关键,核心围绕Google提出的Web指标(LCP、CLS、INP)展开。LCP衡量最大内容渲染时间,CLS评估布局稳定性,INP检测交互响应速度。优化策略需从资源加载、页面渲染和交互响应三个维度入手:资源加载优化包括压缩文件体积(JS/CSS/HTML)、图片格式转换和懒加载;减少HTTP请求数量;合理配置浏览器缓存策略(强缓存与协商缓存)。通过实验室工具(Lighthouse)和真实用户数据(CrUX)综合分析性能瓶颈,实现从理论到实践的全面优化。
2026-04-21 10:36:07
687
原创 LeetCode 120. 三角形最小路径和:动态规划详解
本文介绍了LeetCode动态规划经典题目「三角形最小路径和」的解题思路与代码实现。通过分析题目特性,采用动态规划方法构建状态转移方程,从二维数组解法逐步优化到一维空间复杂度。关键点包括:正确处理边界条件(首尾列)、理解状态转移逻辑(取上层相邻最小值)、最终取末行最小值作为结果。文章提供了TypeScript代码示例,并通过测试案例验证正确性,同时指出了常见错误如初始化不当和空间优化时的更新顺序问题。这道题展现了动态规划的核心思想,是学习算法的重要基础案例。
2026-04-21 10:13:01
347
原创 LeetCode 300. 最长递增子序列:两种解法从入门到优化
本文介绍了LeetCode经典题目300.最长递增子序列的两种解法:基础动态规划(O(n²))和优化解法结合二分查找(O(nlogn))。基础解法通过定义状态dp[i]表示以nums[i]结尾的最长子序列长度,适合理解动态规划核心思路;优化解法通过维护单调递增辅助数组,利用二分查找快速定位替换位置,大幅提升效率。文章详细分析了两种解法的实现代码、复杂度及适用场景,并指出易错点和优化技巧,强调优化解法在面试中的重要性。最终对比显示,优化解法更适合处理大规模数据,是面试高频考点。
2026-04-21 10:08:39
338
原创 LeetCode 322. 零钱兑换:动态规划入门实战
本文详细解析了LeetCode 322零钱兑换问题,这是一个经典的动态规划入门题。文章从题目解读开始,分析了问题核心与关键条件,解释了为何使用动态规划而非暴力枚举。重点讲解了动态规划数组的设计与初始化、状态转移方程的推导过程,并逐行拆解了完整代码。通过测试用例验证了代码的正确性,指出了常见坑点和注意事项,最后总结了动态规划的通用解题步骤。全文以清晰的逻辑和详细的分析,帮助读者掌握动态规划的核心思想与解题技巧。
2026-04-20 09:06:29
521
原创 深度解析浏览器本地存储:原理、方案与实战指南
本文深入解析浏览器本地存储的五大核心方案:Cookie、localStorage、sessionStorage、IndexedDB和Cache API。首先从HTTP无状态的痛点出发,说明本地存储的价值在于实现状态持久化、提升用户体验并降低服务器压力。随后通过对比表格清晰呈现各方案的容量限制、生命周期和适用场景,并重点剖析Cookie的底层原理、核心属性及安全设置,提供详细的操作示例和注意事项。文章采用"通俗类比+专业拆解"的方式,兼顾技术深度与可读性,帮助前端开发者系统掌握浏览器本地存储技术。
2026-04-19 13:00:28
416
原创 LeetCode 139. 单词拆分:动态规划经典入门题
LeetCode 139题"单词拆分"是一道经典的动态规划入门题,考察字符串能否由字典中的单词组合而成。解题思路是将问题拆解为子问题,定义dp[i]表示前i个字符能否被拼接,通过状态转移方程dp[i] = dp[j] && s.substring(j,i)∈字典进行求解。关键点包括初始化dp[0]=true、将字典转为Set优化查询、及时break终止内层循环等。这道题能帮助掌握动态规划的核心思想,适用于各种字符串拼接问题,是算法学习的必备基础题。
2026-04-19 10:46:36
344
原创 LeetCode 198. 打家劫舍:动态规划入门经典题详解
本文详细解析了LeetCode 198题"打家劫舍"的动态规划解法。通过定义dp[i]表示前i+1间房屋的最高偷窃金额,推导出递推公式dp[i] = max(dp[i-2]+nums[i], dp[i-1]),并给出了边界初始化方法。文章包含代码实现、测试案例验证,并提出了空间优化方案,将复杂度从O(n)降至O(1)。这道题帮助理解动态规划的核心思维:状态定义、递推关系和边界处理,是解决"选或不选"类问题的经典范例。
2026-04-18 22:03:07
212
原创 AI辅助开发术语体系深度剖析
生成式AI与软件开发的深度融合催生了全新术语体系和开发范式。文章系统梳理了AI辅助开发的六大核心维度:协作范式、AI角色分类、底层协议以及工程实践。这些概念相互关联,共同构建了AI编程的新骨架,既包含人机协作模式,也涵盖技术实现标准。开发者掌握这套术语体系,可提升AI辅助开发效率,理解技术演进方向,在探索性与确定性场景间灵活选择适合的开发范式。
2026-04-17 22:30:20
365
原创 Git 核心知识点全解析
Git是分布式版本控制系统,核心概念包括三大区域(工作区、暂存区、版本库)和四种对象(Blob、Tree、Commit、Tag)。文件有四种状态(未跟踪、已修改、已暂存、已提交),通过基础命令如git add、git commit实现流转。分支本质是指向提交的可移动指针,操作轻量高效。面试常考Git与SVN的区别、状态流转、分支管理等,需掌握底层原理和常用命令。本文系统梳理Git知识点,提供通俗类比和专业解析,帮助面试准备。
2026-04-16 21:05:38
630
原创 前端包管理工具与Monorepo全面解析
本文深入解析前端包管理工具与Monorepo的核心知识点。对比npm、yarn、pnpm三大工具,重点剖析pnpm的硬链接+符号链接机制如何解决幽灵依赖和版本冲突问题。详细解读包扁平化的利弊、依赖版本控制策略及npm生命周期钩子等关键概念。在Monorepo部分,系统阐述其定义、优势及与pnpm的完美配合,包括统一版本管理、跨包调试等核心价值。全文聚焦面试高频考点与实际工程应用,帮助开发者构建完整的包管理与Monorepo知识体系,提升开发效率与面试竞争力。
2026-04-15 20:37:11
501
原创 LeetCode 70. 爬楼梯:代码拆解+优化全解析
本文针对LeetCode 70题"爬楼梯"提供了详细的动态规划解法分析。首先拆解了原始TypeScript代码的迭代思路,指出其空间优化优势但存在逻辑冗余问题。随后提出三种优化方案:简化初始值、保留变量逻辑但简化判断、以及极简解构赋值版本。此外还补充了递归+记忆化和矩阵快速幂两种进阶解法,分别适用于理解递归思想和处理极大n值的情况。全文从基础到进阶,完整覆盖了该题的多种解法思路,时间复杂度从O(n)优化到O(logn),空间复杂度从O(n)优化到O(1),适合不同水平的开发者学习参考。
2026-04-14 09:45:56
367
原创 EventSource & WebSocket & HTTP
本文介绍了两种实时通信技术:EventSource(SSE)和WebSocket。EventSource是基于HTTP的单向服务器推送技术,适合公告、状态更新等简单场景,具有自动重连、轻量级特点。WebSocket则是全双工双向通信协议,适合聊天、游戏等交互场景,建立连接后双方可实时收发数据。文章详细对比了两者的特点、使用场景和实现方式,并提供了前端代码示例和服务器端配置要求,帮助开发者根据实际需求选择合适的实时通信方案。
2026-04-14 08:44:40
653
原创 LeetCode 149. 直线上最多的点数:题解深度剖析
本文讲解了LeetCode中等难度题目「149. 直线上最多的点数」的解题思路。核心是通过哈希表统计斜率相同的点数,关键在于用最简整数比表示斜率以避免精度问题,并统一符号处理特殊情况。算法步骤包括:边界处理、固定基准点遍历其他点、斜率计算与化简、哈希表统计、剪枝优化等。文章详细解析了斜率的表示方法、代码实现细节及常见坑点,并提供了测试用例验证。该题考察了对直线斜率的数学理解和哈希表的应用,通过优化处理可以高效解决几何计数问题。
2026-04-13 10:37:01
366
原创 JS手撕:手写Koa中间件与Promise核心特性
本文深入剖析前端开发中的Koa洋葱模型和co模块自动执行原理。通过手写实现Koa中间件调度系统,揭示洋葱模型"层层嵌套,反向回流"的执行机制;同时实现简易co模块,解析如何自动执行Generator函数处理异步流程。文章采用"代码实现+原理拆解"的方式,既展示核心实现代码,又通过通俗比喻和专业分析阐明底层设计思想,帮助开发者深入理解异步流程控制的关键技术。
2026-04-13 09:18:13
436
原创 LeetCode 50. Pow(x, n):从暴力法到快速幂的优化之路
LeetCode 50题(Pow(x, n))展示了从暴力解法到快速幂的优化过程。暴力法通过循环乘法计算幂次,时间复杂度为O(n);而快速幂利用分治思想,将指数折半、底数平方,时间复杂度优化至O(log n)。文章详细解析了两种方法的实现逻辑,通过示例说明快速幂的执行流程,并对比了它们的优缺点。关键点包括边界处理、负指数转换和指数折半技巧,建议先理解暴力法再掌握快速幂的优化思路,体现了算法优化的核心思想。
2026-04-12 12:20:14
379
原创 JS手撕:对象创建、继承全解析
本文系统讲解JavaScript中对象创建与继承的6种方法。对象字面量{}是最简单常用的方式;构造函数适合批量创建但存在内存浪费;原型模式通过共享方法优化性能;Object.create()实现灵活原型继承;ES6的class语法是现代化写法;工厂函数适合封装创建逻辑。文章结合代码示例分析各方法特点,帮助开发者根据场景选择最优方案,兼顾开发效率与性能优化。
2026-04-12 09:57:07
498
原创 JS手撕:函数进阶 & 设计模式解析
本文深入解析JavaScript开发中的四个高频代码片段:1)函数柯里化(Currying)实现参数复用和延迟执行,通过分步收集参数直至满足条件执行;2)函数组合(Compose)将多个单参数函数从右至左串联执行,形成数据处理流水线;3)模拟call方法通过临时挂载函数到目标对象来改变this指向;4)模拟apply方法与call类似但采用数组传参。每个技术点均提供通俗比喻、专业代码实现和关键注意事项,帮助开发者掌握核心原理与应用场景。
2026-04-11 10:34:59
718
原创 LeetCode 69. x 的平方根:两种解法详解
LeetCode 69题"x的平方根"考察基础算法能力,要求不使用内置函数计算非负整数x的算术平方根整数部分。本文分析两种解法:暴力循环法(时间复杂度O(√x))简单易懂但效率低;二分查找法(时间复杂度O(log x))通过缩小查找范围实现高效求解,是面试推荐解法。文章详细讲解两种方法的实现思路、TS代码和优缺点对比,并强调该题在算法学习与面试中的重要性,体现了基础算法思维的培养价值。
2026-04-11 08:43:07
393
原创 LeetCode 172. 阶乘后的零:从暴力到最优,拆解解题核心
本文分析了LeetCode「阶乘后的零」问题的两种解法。暴力解法逐个统计阶乘中5的质因数个数,时间复杂度O(n×log₅n);优化解法通过数学规律直接计算5的总个数,时间复杂度降至O(log₅n)。关键点在于理解尾随零由质因数5决定,而非10。文章对比了两种方法的优劣,并指出类似质因数分解问题可套用此思路。这道题既适合新手练习基础思维,也能帮助进阶者掌握数学优化技巧。
2026-04-10 14:16:03
347
原创 LeetCode 66. 加一:两种高效解法详解
本文详细拆解了LeetCode「加一」题的两种高效解法。解法一通过逆序遍历找到第一个非9元素,分步处理进位和边界情况;解法二合并处理步骤,在遍历中直接修改并提前返回。两种方法均需处理全9的边界情况,时间复杂度O(n)。文章对比了两种解法的优缺点,并提供了典型测试用例验证正确性。这道简单题的关键在于掌握数组逆序遍历技巧和边界场景处理,适合初学者练习基础算法思维。
2026-04-08 10:40:17
338
原创 LeetCode 9. 回文数:两种高效解法详解
LeetCode第9题"回文数"提供了两种解法:1)完整反转整数后比较,思路简单但效率较低;2)仅反转后半部分与前半部分比较,效率更高且避免溢出。两种解法均需注意边界条件(负数和末尾为0的非零数)。第一种时间复杂度O(n),第二种优化为O(n/2)。文章推荐初学者先掌握第一种,再进阶学习第二种优化方法,并强调测试用例覆盖的重要性。这道题能帮助巩固整数反转和算法优化技巧。
2026-04-07 15:32:45
379
原创 LeetCode 201. 数字范围按位与:位运算高效解题指南
本文深入解析了LeetCode「数字范围按位与」问题的位运算解法。通过分析按位与的特性,指出暴力遍历法效率低下的问题,提出了基于公共前缀的高效算法:通过不断右移left和right找到它们的公共前缀,然后左移补零得到最终结果。文章详细解释了算法原理,提供了TypeScript代码实现,并通过具体示例验证了方法的正确性,同时讨论了边界情况的处理。该解法将时间复杂度优化至O(log n),展示了位运算在算法优化中的核心价值。
2026-04-06 17:04:36
297
原创 JS手撕:高频对象与数组工具方法解析
JavaScript数组与对象的十大核心操作技巧聚焦类型转换、结构处理、数据拷贝与引用管理四大方向,涵盖类数组转换、负索引实现、数组扁平化、树形转换、深拷贝及循环引用检测等高频场景。这些技巧本质是数据结构遍历与引用管理的逻辑延伸,通过代码实现与避坑要点结合,既降低新手理解门槛,又满足老手复用需求,同时覆盖面试手撕代码的核心考点。掌握这些基础复合数据结构的操作能力,可显著提升复杂业务数据的处理效率。
2026-04-06 14:33:49
863
原创 JS手撕:性能优化、渲染技巧与定时器实现
本文介绍了前端开发中高频实用的JS代码片段,重点解析了大数据渲染优化和防抖/节流两大核心技巧。针对大数据渲染卡顿问题,提出分批渲染+文档片段+requestAnimationFrame的解决方案,显著减少DOM操作带来的性能损耗。防抖技术通过闭包保存定时器标识,有效控制频繁触发事件的回调执行,分为立即执行和延迟执行两种模式。节流技术则通过固定时间间隔执行回调,避免过度触发。这些技巧可广泛应用于搜索框联想、窗口resize、滚动加载等场景,大幅提升前端性能和用户体验。
2026-04-05 13:27:10
496
原创 JS手撕:DOM操作 & 浏览器API高频场景详解
本文总结了前端开发中7个高频实用的JS功能,包括URL参数解析、事件委托、滚动加载和图片懒加载等。通过通俗解读和专业解析相结合的方式,详细说明每个功能的实现原理、代码细节和使用场景,并提供可直接复用的优化版代码。这些功能涵盖了前端开发中常见的性能优化、事件处理和数据交互需求,帮助开发者提升开发效率和代码质量。
2026-04-05 11:22:00
584
原创 LeetCode 137. 只出现一次的数字 II:从基础到最优的两种解法详解
LeetCode 137题要求在线性时间和常数空间内找出数组中唯一出现一次的数字(其他数字均出现三次)。本文提供两种解法:哈希表统计法(直观但空间复杂度O(n))和位运算法(最优解)。位运算通过统计每位1的总数,利用3的倍数特性定位目标数字,满足所有约束条件。解法对比显示位运算更适合面试场景,强调利用二进制统计规律解决此类问题的核心思路。
2026-04-05 10:01:09
343
算法题解LeetCode热题150核心思路精讲
2026-05-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅