D

当前:LC525 · 连续数组 · 首次出现于 Day 45 · 路径:顶栏「56天打卡」→ 点击 LC 题号 → 逐题动画

LC525

连续数组

前缀和 · 连续数组可视化:前缀和/积

nums 含 0/1,最长连续子数组 0/1 个数相等。

时间 O(n)空间 O(1)
题目1 / 9
题目与输入建立输入、目标与算法心智

区间和 = prefix[right+1] - prefix[left]

正在加载算法场景...
当前发生了什么

nums 含 0/1,最长连续子数组 0/1 个数相等。

机器状态

prefix diff、map 最早下标。

为什么正确

前缀和 count0-count1;map 最早出现某和→最长。

不变量

diff 相同则中间段 0/1 平衡。

面试怎么说

前缀和+哈希 O(n)。

人类输入

nums 含 0/1,最长连续子数组 0/1 个数相等。

机制

前缀和 count0-count1;map 最早出现某和→最长。

机器状态

prefix diff、map 最早下标。

可观察结果

最长长度 6(0..5)。

不变量
  • · diff 相同则中间段 0/1 平衡。
常见误区
  • · 把 0 变 -1 可化成和为 0 最长。
迁移练习
  • · LC560 和为 K
  • · LC974 整除 K
面试怎么答

前缀和+哈希 O(n)。