1.Java中的Map
Map是一个key和value的键值对集合,通过key去找value,map中不存在不可重复的键,值可以重复,每个键只能对应一个值。
常用的方法:
初始化:Map<需要的数据类型,需要的数据类型> map = new HashMap<>();
添加数据:map.put("key","value");
根据键值对删除数据:map.remove("key");
判断集合中是否包含指定值:map.containsKey(value);返回bool类型
清除集合中的所有元素:map.clear();
获取键值对的信息:map.get(key);
2.滑动窗口的思想
相当于是维持一个队列,先将满足要求的元素移入队列中,若新元素不满足要求了,就逐一的将元素向左移动,直到重新满足要求。
例如字符串中求出无重复的最长字串。
比如例题中的 abcabcbb,进入这个队列(窗口)为 abc 满足题目要求,当再进入 a,队列变成了 abca,这时候不满足要求。所以,我们要移动这个队列!(力扣的大佬解析)