··2061 字·5 分钟
本篇涵盖数组相关的几类经典技巧:用双指针/滑动窗口解决「长度最小的子数组」,通过循环不变式模拟生成「螺旋矩阵 II」,并从区间和暴力查询引出前缀和(含一维/二维前缀和)。最后用二维前缀和计算不同切分方式下的区域和,求开发商购买土地问题的最小差。
本文梳理数组的核心特性(0 索引、内存连续、不可删除只能覆盖),并讲解三道 LeetCode 数组题:二分查找、移除元素、以及有序数组平方。包含暴力与优化思路(快慢指针/双指针)、C++ 代码示例及时间与空间复杂度总结。
通过栈溢出覆盖返回地址,跳转到text段中已存在的函数,从而劫持程序的控制流。