vivek03.singh
BAN USERimport java.util.Scanner;
public class SubStringMinLength {
// main method starts
public static void main (String...strings) {
// get the scanner object
Scanner scanner = new Scanner(System.in);
SubStringMinLength subStringMinLength = new SubStringMinLength();
String str = scanner.next(); // input string
int number = scanner.nextInt();
String[] subStrings = new String[number];
for (int i = 0; i < number; i++) {
subStrings[i] = scanner.next();
}
int i = 0;
while (i < number) {
String subString = subStrings[i];
str = subStringMinLength.findSubString (str, subString.length(), subString);
i++;
for (int j = 0; j < i; j++) {
if (str.contains(subStrings[j])) {
i = j;
break;
}
}
}
System.out.println(str.length());
scanner.close(); // close the resources
}
// main method ends here
/**
* SubString the initial String
*
* @param str
* @param initialPos
* @param finalPos
* @param subString
*
* @return
*/
private String findSubString (String str, int finalPos, String subString) {
// iterate to the length of the String
for (int i = 0; i < str.length() - finalPos + 1; i++) {
String temp = str.substring(i, finalPos + i);
if (temp.equals(subString)) {
str = str.substring(0, i) + str.substring(finalPos + i, str.length());
str = findSubString(str, finalPos, subString);
}
}
return str;
}
}
can someone please find some time and tell me is my code fine?
- vivek03.singh June 08, 2014