P525 连续数组
题目

分析
- 关键词检索:最长连续子数组,又到了喜闻乐见的前缀和哈希表环节
 - 0,1个数相等,如果将0转化为-1,它们的和将为0,将题目转化为求和为零的最大连续子数组
 - 在map中先放入(0,-1),我们认为前0项和为0,位于-1(常规操作啦)
 - 遍历数组,用一个变量保存当前的前n项和,遇到0视为-1
 - 如果在map中找到key = 当前前n项和,那就说明从map中取出的index+1到i的数组和为零(有相同个0,1)
 
显然,如果两个连续子数组和相等,而且是包含关系,那么大的数组减去小的数组后的和为0
- 这个子数组的长度可以用i-index来计算出
 - 如果找不到就将当前的前n项和以及索引加入map,因为要找最大的连续子数组,所以没必要更新
 
题解
1  |  | 

一点屁话
- 感觉每次做这类题都差点感觉
 - 还是做得少