問題タブ [powerset]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 不明な数の配列をループして、JavaScript オブジェクトのデカルト積 (powerset?) を作成します。
私は初心者なので、これが些細なことである場合は、私の無知を許してください。
長さが不明な JavaScript オブジェクトがあり、各プロパティの値は配列です (長さも不明です)。例えば:
各プロパティをループして、プロパティ値のすべての組み合わせに対して新しいオブジェクトを作成したいと考えています。プロパティの数を知っていれば、 for ループに力ずくで使用できますが、ハードコーディングするループの数を知らずに列挙する方法はありますか?
私は本質的にこの種のことをしたい:
oblist に次のようなオブジェクトが含まれるようにします。
ありがとう!
編集: for ループやインデックス構文のヘルプを求めているわけではありません。オブジェクト内のプロパティの数がわからない場合 (例: varA、varB、varC、varD、varE、私が知っているすべての varZZ を使用できます)、どうすればよいか尋ねているので、難しいことはできません。 -ループのコード 4。obj[Object.keys(obj)[i]].length を使用して設定する方法はありますか?
algorithm - 順列アルゴリズム
H1というハッシュマップがあります。
H1 のハッシュマップ キーは n 個あります。
H1 ハッシュマップの場合、プログラムはべき集合 {1,2,3,4,...n} のすべての順列を作成します。
つまり、n = 5 の場合、1、2、3、..5555 の任意の数値が H1 の有効なリストです。
もし、
キー 1 = 22
キー 2 = 50
キー 3 = 12
キー 4 = 44
キー 5 = 55
111 の場合 = {22,22,22}、213 の場合 = {50,22,12}、12345 の場合 = {22,50, 12, 44, 55}。
基本的に、可能なすべての組み合わせですべてのリストをすべての順序で見つける必要があります (つまり、1342 != 3142)。
可能な解決策はありますが、まったく最適ではありません.int値を文字列に変換し、文字列内の各文字要素を調べる必要があります.誰かがより効率的な方法を知っているかどうかを確認しています.
c++ - 指定された文字列の文字のすべての組み合わせを辞書順に出力するアルゴリズム
指定された文字列の可能なすべての組み合わせを辞書順に生成するコードを作成しようとしました。
私が書いたコードは次のとおりです。
文字列が abcde であるとします。
私のコードは次のような組み合わせを生成していません:
文字列 abcde の出力は次のとおりです。
出力に次のような文字列が含まれていません。abd abe
これで質問が明確になることを願っています
効率的なアルゴリズムを使用してこれらすべての組み合わせを生成する方法
c++ - powerset 関数の pushback() 呼び出しの後、静的なベクトル サイズ
このアルゴリズム/アプローチの実装として、次の関数を作成して、特定の文字列のパワーセット (すべてのサブセットのセット) を生成しました。
ただし、誰かが間違っているようです。呼び出しのためにサイズが増加する必要がある場合、再帰呼び出しから再帰呼び出しまでのサイズtempと静的なままです。これが起こる理由はありますか?allSubsetspush_back()
haskell - 重複のないパワーセット
入力リストに何を入れても、セットを取り、重複するエントリなしでパワーセットを出力するパワーセット関数をhaskellで作成する必要があります。例: [1,1] は [[],[1]] を返す必要があります。
union は、以前に定義された関数であり、重複することなく 2 つのセットに隣接します。上記のコードの問題は、重複を元のエントリとしてカウントするため、入力 [1,1] が [[],[1],[1],[1,1]] を返すことです。
何か案は?パワーセットをトリガーする前に、入力リストと空のリストでユニオンを使用して重複をスクラブすることを考えましたが、それがどのように見えるかはわかりません。
python - Python で一連のベクトルのデカルト積を作成しますか?
(e_1,e_2,e_3)3次元の標準基底ベクトルが与えられ、要素(e_1,e_2,e_3)が制限されると(0,1,2,3,4)、このベクトル空間内のすべてのベクトルのデカルト積を作成する簡単なPythonの方法があるとしますか?
たとえば、[1,0,0]、[0,1,0]、および [0,0,1] が与えられた場合、すべての線形結合のリストを取得したいと思います (a_i は自然に制限されています)。 [0,0,0] と [4,4,4] の間のこれらのベクトルの 0 と 4 の間)。
私はこれを自分でプログラムすることができましたが、その問題に取り組む前に、おそらくnumpyまたは同様のもので、それを行う簡単なpythonicの方法があるかどうかを尋ねると思いました.
java - javaはグループ化された要素からパワーセット順列を生成します
N グループのセットがあり、各グループには可変数の要素が含まれています。すべての要素のすべての可能な順列 (長さ 1 から N) を返す関数が必要です。ここで、グループごとに 1 つの要素のみが任意の順列に表示されます。
たとえば、2 つの groups を考えてみます{A, B}。{C, D, E}
次に、次のリストを返したいとします。
再帰関数を書いてみましたが、うまくいかないようです...これが私がこれまでに持っているものです。それを機能させるための助けをいただければ幸いです。