文章预览
大家好,我是吴师兄。 在 LeetCode 上刷题时,很多题目看似复杂,但实际上,许多问题可以归纳为几种常见的算法模式。 如果你掌握了这些模式,就能高效地解决大量问题 。 以下是 8 个常见的模式和它们在 LeetCode 中的应用案例,学会这些模式,你就能轻松应对 80% 的 LeetCode 问题。 1、滑动窗口:优化子数组和子字符串问题 滑动窗口是一种常用的技巧,特别适合解决子数组和子字符串相关的问题。滑动窗口的核心思想是在一个可变大小的窗口中维护一些信息,并通过窗口的移动来缩小问题的范围。 一般来说,可以通过三问三答的形式进行思考: 1、对于每一个右指针 right 所指的元素 ch ,做什么操作? 2、什么时候要令左指针 left 右移?left对应的元素做什么操作?【循环不变量】 3、什么时候进行ans的更新? 这三个问题,本质上对应了滑窗问题需
………………………………