кодесурса

Упражнения Java String: Найти все чередования указанных строк

script1adsense2code
script1adsense3code

Строка 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 программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code