本文共 593 字,大约阅读时间需要 1 分钟。
队列
给定一个数组 arr,返回 arr 的最长无的重复子串的长度(无重复指的是所有数字都不相同)。
用一个队列,把元素不停的加入到队列中,如果有相同的元素,就把队首的元素移除,这样我们就可以保证队列中永远都没有重复的元素。
public class Solution { /** * * @param arr int整型一维数组 the array * @return int整型 */ public int maxLength (int[] arr) { int result = 0; Queuequeue = new LinkedList<>(); for(int c : arr) { while(queue.contains(c)) { queue.poll(); } queue.offer(c); result = Math.max(result, queue.size()); } return result; }}
转载地址:http://zcjvb.baihongyu.com/