题目描述
给定一个数组arr,返回arr的最长无的重复子串的长度(无重复指的是所有数字都不相同)。
[2,3,4,5]
4
[2,2,3,4,3]
3
1≤n≤10^5
解法:
- 1.首先我们先尝试暴力解法 既然提到无重复的,那我们可以借助Set来帮我们去重
import java.util.*;
public class Solution {
/**
*
* @param arr int整型一维数组 the array
* @return int整型
*/
public int maxLength (int[] arr) {
// write code here
//最长无重复子串
//首先暴力解法来一波
int max = 0;
for(int i = 0; i < arr.length; i++)
{
Set<Integer> set = new HashSet();
for(int j = i; j < arr.length; j++)
{
if(!set.add(arr[j]))
{
max = Math.max(max , set.size());
break;
}
}
}
return max;
}
}