leetcode滑动窗口练习题
整理滑动窗口的基本思路与通用代码框架,并通过 LeetCode 76、567、438、3 四道经典题,记录可变窗口与定长窗口的不同应用,重点理解窗口状态维护、左右指针的移动条件以及答案的更新时机。
整理滑动窗口的基本思路与通用代码框架,并通过 LeetCode 76、567、438、3 四道经典题,记录可变窗口与定长窗口的不同应用,重点理解窗口状态维护、左右指针的移动条件以及答案的更新时机。
整理链表合并、分隔、倒数节点、中点、环与交点问题,记录虚拟头节点、快慢指针和最小堆各自解决什么问题。
记录洛谷 P1029「最大公约数和最小公倍数问题」的解题过程。从双层暴力枚举超时出发,利用最大公约数与最小公倍数的乘积关系,根据一个数直接求出另一个数,将双层枚举优化为单层枚举,附 Python 和 C++ 实现。
记录 LeetCode 1979「找出数组的最大公约数」的解题思路。通过排序获取数组中的最大值和最小值,再调用 GCD 函数计算最大公约数,附 Python 和 C++ 实现。
记录洛谷 B3634「最大公约数和最小公倍数」的解题过程。通过具体例子理解辗转相除法,并利用最大公约数与最小公倍数的关系求解,分别使用 Python 循环和 C++ 递归实现。
记录洛谷 P10424「好数」的解题过程。通过枚举 1 到 N 的所有整数,按照从个位到高位的顺序检查数位奇偶性,分别使用 C++ 字符串反转和 Python 取模、整除实现,并记录 Python 与 PyPy3 的提交情况。