**## 滑动窗口**
力扣 3.无重复字符的最长子串
给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。
例:输入:s = "abcabcbb" 输出:3
滑动窗口
通过使用HashSet作为一个滑动窗口,检查一个字符是否已经存在于
现有的子字符中只需要O(1).
滑动窗口经常作为一个抽象的概念来处理数组/字符串问题。窗口代表
着一组数据/字符串元素,通过开头和结尾的索引来定义窗口。
哈希表
散列表(Hash table,也叫哈希表),是根据键(Key)而直接访问
在内存存储位置的数据结构。也就是说,它通过计算一个关于键值的函
数,将所需查询的数据映射到表中一个位置来访问记录,这加快了查
找速度。这个映射函数称做散列函数,存放记录的数组称做散列表。
哈希表用来检测数组中元素是否出现
解法
滑动窗口一直向右移动
用哈希表判断元素是否出现
若没出现过,则长度加1
若出现过,则左边的窗口向右移动一位,右窗口仍然向右移动