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

文字列の個別の順列を出力するJavaプログラム


文字列の個別の順列を出力するためのJavaプログラムは次のとおりです-

import java.util.ArrayList;
public class Demo{
   static boolean is_present(String my_str, ArrayList<String> rem){
      for (String str : rem){
         if (str.equals(my_str))
         return true;
      }
      return false;
   }
   static ArrayList<String> distinct_pattern(String str){
      if (str.length() == 0){
         ArrayList<String> base_Val = new ArrayList<>();
         base_Val.add("");
         return base_Val;
      }
      char ch = str.charAt(0);
      String rem_str = str.substring(1);
      ArrayList<String> prev_str = distinct_pattern(rem_str);
      ArrayList<String> rem = new ArrayList<>();
      for (String my_str : prev_str){
         for (int i = 0; i <= my_str.length(); i++){
            String f = my_str.substring(0, i) + ch + my_str.substring(i);
            if (!is_present(f, rem))
            rem.add(f);
         }
      }
      return rem;
   }
   public static void main(String[] args){
      String my_str = "mnqm";
      System.out.println("The distinct permutations of the string are ");
      System.out.println(distinct_pattern(my_str));
   }
}

出力

The distinct permutations of the string are
[mnqm, nmqm, nqmm, mqnm, qmnm, qnmm, mqmn, qmmn, mnmq, nmmq, mmnq, mmqn]

Demoという名前のクラスには、文字列が実際に存在するかどうかを確認する「is_present」という名前のブール関数が含まれています。文字列に文字が含まれているかどうかに応じて、trueまたはfalseを返します。 「distinct_pattern」という名前の別の関数は、配列リストを作成します。

文字列のサブ文字列を格納する「rem_str」という名前の別の文字列が定義されています。この「distinct_function」は、「rem_str」を渡すことによって呼び出されます。このようにして、別の明確な順列を生成する前に、文字列が繰り返され、すべての文字の位置がチェックされます。このようにして、すべての重複が回避されます。最後に、すべての一意の順列がコンソールに表示されます。 main関数は文字列を定義し、関数「distinct_pattern」がこの文字列で呼び出されます。関連する出力がコンソールに表示されます。


  1. 文字列内の母音をカウントするJavaプログラム

    以下が私たちの文字列だとしましょう- String myStr = "Jamie"; 同じ変数の母音を計算するので、変数count=0に設定します。すべての文字をループして母音を数えます- for(char ch : myStr.toCharArray()) {    ch = Character.toLowerCase(ch);    if(ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u

  2. 指定された文字列のすべての順列を出力するPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −文字列の可能なすべての順列を表示するために必要な文字列が与えられます。 次に、以下の実装のソリューションを見てみましょう- 例 # conversion def toString(List):    return ''.join(List) # permutations def permute(a, l, r):    if l == r:       print (toString(a))    e