Упражнения Java String: Найти все чередования указанных строк
Строка Java: упражнение 33 с решением
Напишите программу на Java, чтобы найти все чередования данных строк.
Пример решения:
Java-код:
import java.util.HashSet;
import java.util.Set;
class Main {
public static void allInterleavings(String res, String P, String Q, Set < String > out) {
if (P.length() == 0 && Q.length() == 0) {
out.add(res);
return;
}
if (P.length() > 0) {
allInterleavings(res + P.charAt(0), P.substring(1), Q, out);
}
if (Q.length() > 0) {
allInterleavings(res + Q.charAt(0), P, Q.substring(1), out);
}
}
public static void main(String[] args) {
String P ="WX";
String Q ="YZ";
System.out.println("The given strings are: " + P + " " + Q);
System.out.println("The interleavings strings are: ");
Set < String > out = new HashSet < > ();
allInterleavings("", P, Q, out);
out.stream().forEach(System.out::println);
}
}
Пример вывода:
Данные строки: WX YZ Строки чередования: YWZX WYZX YWXZ WXYZ YZWX WYXZ
Блок - схема:
Редактор кода Java:
Улучшите этот пример решения и опубликуйте свой код через Disqus
Предыдущий: Напишите программу на Java, чтобы найти самую длинную палиндромную подстроку в строке.
Далее: Напишите программу на Java, чтобы найти второй наиболее часто встречающийся символ в данной строке.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code