Примеры: >
Код: Выделить всё
strDist("catcowcat", "cat") → 9
strDist("catcowcat", "cow") → 3
strDist("cccatcowcatxx", "cat") → 9
Код: Выделить всё
public int strDist(String str, String sub) {
if (str.length() < sub.length())
return 0;
if (str.length() == sub.length() && str.equals(sub))
return str.length();
if (str.length() < 2) {
if (str.contains(sub)) {
return 1;
}
return 0;
}
if (str.length() == 2) {
if (sub.length() == 2 && str.equals(sub))
return 2;
if (str.contains(sub))
return 1;
return 0;
}
if (str.length() > 2) {
if (str.startsWith(sub) && str.endsWith(sub)) {
return str.length();
}
if (str.substring(0, sub.length()).equals(sub)) {
strDist(str.substring(0, str.length() - 2), sub);
}
if (str.substring(str.length() - sub.length(), str.length() - 1).equals(sub))
strDist(str.substring(1, str.length() - 1), sub);
}
return strDist(str.substring(1, str.length() - 1), sub);
}
и возвращает ноль.
Подробнее здесь: https://stackoverflow.com/questions/401 ... ub-and-ret
Мобильная версия