题解 | 最长无重复子数组
最长无重复子数组
https://www.nowcoder.com/practice/b56799ebfd684fb394bd315e89324fb4
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param arr int整型一维数组 the array * @param arrLen int arr数组长度 * @return int整型 */ int maxLength(int* arr, int arrLen ) { // write code here int i=0,j=0,max=0,k,temp=0; //i 和 j 是双指针,用于维护滑动窗口的左右边界 //i 是右指针,用于扩展窗口。 //j 是左指针,用于收缩窗口 //k 是临时变量,用于遍历窗口内的元素 while(i<arrLen) { for(k=j;k<i;k++) { if(arr[i]==arr[k]) { //跳过重复元素 j=k+1; } } i++;//拓展窗口 temp=i-j;//当前窗口长度 if(temp>max) max=temp; } return max; }