-
Notifications
You must be signed in to change notification settings - Fork 857
Expand file tree
/
Copy pathLongestSubstring.java
More file actions
32 lines (29 loc) · 823 Bytes
/
LongestSubstring.java
File metadata and controls
32 lines (29 loc) · 823 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package misc;
import java.util.HashSet;
import java.util.Set;
public class LongestSubstring {
String getUniqueCharacterSubstringBruteForce(String input) {
String output = "";
for (int start = 0; start < input.length(); start++) {
Set<Character> visited = new HashSet<>();
int end = start;
for (; end < input.length(); end++) {
char currChar = input.charAt(end);
if (visited.contains(currChar)) {
break;
} else {
visited.add(currChar);
}
}
if (output.length() < end - start + 1) {
output = input.substring(start, end);
}
}
return output;
}
public static void main(String[] args) {
String input = "ABDEFGABEF";
LongestSubstring obj = new LongestSubstring();
System.out.println("Longest Substring: " + obj.getUniqueCharacterSubstringBruteForce(input));
}
}