3. Longest Substring Without Repeating Characters
Given a string, find the length of the longest substring without repeating characters.
Examples:
Given "abcabcbb"
, the answer is "abc"
, which the length is 3.
Given "bbbbb"
, the answer is "b"
, with the length of 1.
Given "pwwkew"
, the answer is "wke"
, with the length of 3. Note that the answer must be a substring, "pwke"
is a subsequence and not a substring.
public class Test3 {
public static void main(String[] args) {
Test3 t3 = new Test3();
t3.lengthOfLongestSubstring("dvdf");
}
public int lengthOfLongestSubstring(String s) {
char[] s1 = s.toCharArray();
ArrayList<Character> s2 = new ArrayList<Character>();
int max = 0;
for(int i=0;i<s1.length;i++){
int j = 0;
for(;j<s2.size();j++){
if(s1[i]==s2.get(j)){
if(max<s2.size()){
max = s2.size();
}
int k =0;
while(k<=j){
s2.remove(0);
k++;
}
break;
}
}
s2.add(s1[i]);
if(max<s2.size()){
max = s2.size();
}
}
return max;
}
}