C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++でArrayListを使用して文字列のすべてのサブシーケンスを出力します


この問題では、文字列が与えられ、文字列のすべてのサブシーケンスを出力する必要があります。サブストリングは、要素を削除することによって形成されます。また、文字列の順序は変更しないでください。

問題をよりよく理解するために例を見てみましょう-

Input: string = “xyz”
Output: x y xy z xz yz xyz

この問題を解決するために、文字列の最初の文字をフリーズすることから始めてすべてのサブ文字列を見つけ、それに応じてサブシーケンスを見つけ、次に文字列とサブシーケンスの次の文字を探します。

public class Main {
   public static void printSubString(String sub,String subSeq){
      if (sub.length() == 0) {
         System.out.print(subSeq+" ");
         return;
      }
      char ch = sub.charAt(0);
      String ros = sub.substring(1);
      printSubString(ros, subSeq);
      printSubString(ros, subSeq + ch);
   }
   public static void main(String[] args){
      String str = "wxyz";
      System.out.println("The subStrings are :");
      printSubString(str, "");
   }
}

出力

subStringsは-

です
z y yz x xz xy xyz w wz wy wyz wx wxz wxy wxyz

  1. C++でDFSを使用してn-aryツリーのすべてのリーフノードを出力します

    この問題では、n-aryのエッジを含む2次元配列が与えられます。ここで、edgeはn-aryツリーのエッジを定義します。作成したa-aryツリーのすべてのリーフノードを印刷する必要があります。 n-aryツリー は最大n個の子を持つツリーです。つまり、ノードは1、2、...n個の子ノードを持つことができます。 問題を理解するための例を見てみましょう- Input: edge[][] = {{5,8}, {5,6}, {8,1}, {8,4}, {6,7}} Output: 1 4 7 説明 −エッジ配列を使用してツリーを作成しましょう− このツリーのリーフノードは1、4、7です

  2. JavaでArrayListを使用して文字列のすべての順列を出力します

    この問題では、サイズnの文字列が与えられ、文字列のすべての順列を出力する必要があります。ただし、今回はArrayListを使用してこの順列を出力する必要があります。 問題を理解するために例を見てみましょう- 入力- string =‘XYZ’ 出力- XYZ、XZY、YXZ、YZX、ZXY、ZYX この問題を解決するために、文字列の文字のすべての順列を生成します。再帰関数を使用して、arrayListを返します。 例 以下はアルゴリズムのArrayList実装です- import java.util.ArrayList; public class Main {static void