(C ++!言及すべきかどうかわかりませんでした)(可能な限り注文を続けてください!)
文字列ABaCを持っているとしましょう。
その文字列の各文字は、tempというベクトルにあります。
したがって、temp [0] = A、temp [1] = B、temp [3] = a、temp [4]=Cになります。
私がやりたいのは、その文字列のすべての順列を出力するプログラムです。これは、0個の大文字、次に1個の大文字、次に2個の大文字、次に3個すべてを削除した結果です。
私が首都を削除する理由は...あなたは首都に焦点を当てるべきではありません。たまたまここですべての大文字を削除する必要がありましたが、たとえばADbdの場合、Dを削除する必要はありません。つまり、文字列から既知の文字のセットを削除するためのアルゴリズムです。
したがって、次のように出力されます。
ABaC | BaC | AaC | ABa | aC | Aa | Ba | a
ここで効率を求めていないか、アルゴリズムがあまりにも優れています。シンプルで長い、または短くて愚かな何か私も満足しています。
これは私が取り組んでいる進行中のプロジェクトの一部であり、ラムダプロダクションを削除します(これはあなたがすでに助けてくれました)したがって、これはルールからnull許容変数を削除することによって新しいプロダクションルールを構築する必要があるステップです。 1つずつ、というように、すべての順列を出力します。
しかし、y'allはそのビットを無視することができます。文字列と同じように考えてください。だから、どんな助けでも大歓迎です。
よろしくお願いします。