shah.aashay21
BAN USERpublic class UniqueSubstring {
public static String unique;
public static void main(String[] args){
String prob = "fasdnavnvbffdscfsd";
uniqueChars(prob);
System.out.println("Unique : "+unique);
System.out.println("Min SubString : "+minUniqSubstring(prob));
}
public static String minUniqSubstring(String prob) {
String ans = "";
int i = unique.length();
while (i <= prob.length()) {
for (int j = 0; j <= prob.length() - i; j++) {
if (isContainsUnique(prob.substring(j, j + i))) {
return prob.substring(j, j + i);
}
}
i++;
}
return ans;
}
public static boolean isContainsUnique(String substr){
for(int i = 0; i < unique.length(); i++){
boolean flag = false;
for(int j = 0; j < substr.length(); j++){
if(unique.charAt(i) == substr.charAt(j)){
flag = true;
}
}
if(!flag){
return false;
}
}
return true;
}
public static void uniqueChars(String prob){
unique = "";
boolean[] char_set = new boolean[128];
for(int i = 0; i < prob.length(); i++){
int val = prob.charAt(i);
if(!char_set[val]) {
unique += prob.charAt(i);
}
char_set[val] = true;
}
return;
}
}
- shah.aashay21 March 07, 2017