重练算法(代码随想录版)day1-2 - 数组

最近秋招发现算法写起来手生了,之前的刷题量也一般,为了秋招和以后工作,打算重新捡起来练习。
这次为了提高自己的专注度,打算跟着代码随想录的顺序去刷题,大概用两个月的时间把经典题型重过一轮。

两日刷题量:18
当前刷题总量:18
Easy: 11
Mid: 6
Hard: 1

Day 1-2 数组
基础理论:

  1. 数组是相同类型元素的集合,存储在连续的内存空间
  2. 通过索引访问对应元素,下标从0开始
  3. 删除或添加元素需要移动后续元素位置

常用思想及练习题目:

  1. 二分查找(注意明确区间定义)
  1. 双指针法
  1. 滑动窗口 (left、right双指针维护窗口,right负责扩展窗口,left负责收缩窗口, 注意检查条件和更新结果)
  1. 螺旋矩阵 (注意边界条件的判断)
  1. 前缀和 (一维、二维前缀和)

补充二维前缀和相关:

  • 二维前缀和数组定义:sum[i][j] = 从 (0,0) 到 (i,j) 这个矩形的所有元素之和
  • 递推公式sum[i][j]= matrix[i][j] + sum[i-1][j] + sum[i][j-1] - sum[i-1][j-1];
  • 如求任意子矩形 (x1, y1) → (x2, y2) 的和:rect_sum = sum[x2][y2] - sum[x1-1][y2] - sum[x2][y1-1] + sum[x1-1][y1-1]。
posted @ 2025-11-07 20:36  GengarF  阅读(2)  评论(0)    收藏  举报