acwing-最长连续不重复子序列
最长连续不重复子序列
给定一个长度为 n 的整数序列,请找出最长的不包含重复的数的连续区间,输出它的长度。
输入格式
第一行包含整数 n。
第二行包含 n 个整数(均在 0∼1050∼105 范围内),表示整数序列。
输出格式
共一行,包含一个整数,表示最长的不包含重复的数的连续区间的长度。
数据范围
1≤n≤105
输入样例:
1 | 5 |
输出样例:
1 | 3 |
- 维护一个滑动窗口和哈希表,哈希表记录窗口内数字出现的频率
- 右指针一直向右滑动将元素加入哈希表
- 如果右指针指向的元素在窗口内出现次数超过1次,左指针向右移动缩小窗口直到每个元素只出现一次。记录窗口长度取最大值
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 面试资料!