問題タブ [permutation]

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.

0 投票する
10 に答える
18883 参照

language-agnostic - 0からNまでのすべての可能な順列を繰り返し計算するにはどうすればよいですか?

順列を繰り返し計算する必要があります。メソッドシグネチャは次のようになります。

int[][] permute(int n)

たとえばn = 3、戻り値は次のようになります。

可能な限り最も効率的な方法でこれを繰り返し行うにはどうすればよいでしょうか。これは再帰的に実行できますが、反復的に実行するための別の方法をたくさん見ることに興味があります。

0 投票する
5 に答える
24436 参照

actionscript-3 - 指定された文字列の可能なすべての文字の組み合わせを 2 文字まで生成するアルゴリズム

指定された文字列の可能なすべての文字の組み合わせを 2 文字まで生成するアルゴリズム

ここにあるような、AS3 でアナグラム ソルバーを作成しようとしています。

http://homepage.ntlworld.com/adam.bozon/anagramsolver.htm

さまざまな長さの文字列に対して考えられるすべての文字の組み合わせを生成することに頭を悩ませています。固定長の順列のみを生成していた場合、私にとってはそれほど問題にはなりません...しかし、文字列の長さを減らして、元の文字セットから可能なすべての順列を取得しようとしています元の文字列よりも小さい最大長の文字列。たとえば、文字列の長さを 2 にしたいが、「abc」という 3 文字の文字列がある場合、出力は ab ac ba bc ca cb となります。

理想的には、アルゴリズムは、元の文字列の長さから最小の文字列の長さ 2 までの可能な組み合わせの完全なリストを生成します。おそらく、これを行うための小さな再帰アルゴリズムがあると感じていますが、私の頭脳を包み込むことはできません。それ。私はAS3で働いています。

ありがとう!

0 投票する
1 に答える
2196 参照

ruby - Ruby で Python の itertools に相当するものは何ですか。組み合わせ/順列/グループ化?

Python のitertoolsモジュールは、ジェネレーターを使用した iterable/iterator の処理に関して多くの機能を提供します。例えば、

Rubyで同等のものは何ですか?

同等とは、高速でメモリ効率が高いことを意味します (Python の itertools モジュールは C で記述されています)。

0 投票する
4 に答える
2987 参照

matlab - MATLABでベクトルの要素間の最大距離を計算する

次のようなベクトルがあると仮定しましょう

xの要素間の最大距離を慣用的な方法で計算したいと思います。の要素の可能なすべての組み合わせを繰り返すのは簡単xですが、MATLABの組み込み関数を使用して、クレイジーでありながら慣用的な方法でそれを行う方法があると思います。

0 投票する
1 に答える
819 参照

math - ある順列を別の順列に変更するサイクルを計算するにはどうすればよいですか?

[2, 3, 1, 4]シーケンスの2つの順列(たとえば、 )を指定して、最初の順列を2番目の順列に変換するために必要なサイクル[4, 1, 3, 2]を計算するアルゴリズムを探しています(たとえば、 )。[[0, 3], [1, 2]]

mathworldからのリンクによると、MathematicaのToCycle関数がそれを実行しますが、残念ながら手元にMathematicaライセンスがありません...FOSS言語または数学パッケージでのアルゴリズムの実装へのポインタを喜んで受け取ります。

ありがとう!

0 投票する
1 に答える
92 参照

permutation - 事前計算 (一連の文字列とその順列を他の文字列のセット数と照合すること) は、特にネットワーク上でどの程度役立ちますか?

n 個のリールを備えた典型的なスロット マシンを考えてみましょう (たとえば、リール 1: a、b、c、d、w1、d、b、..など)。
プレイ時に、連結された n 個のオブジェクトの文字列を生成します (上記のように、chars)。勝った文字列とペイアウト額をリストするペイテーブルがあります。

問題は、{w1:a,b,c}、{w2:a} などを置き換えることができるワイルド文字 (ワイルドのリスト: w1,w2) です。ワイルドを事前に計算して使用することで、すべての可能な勝利文字列の順列を用意することは本当に価値がありますか。

最初はあまり違いがわかりませんでしたが、以前よりもはるかにワイルドが集中している 11 以上のリールを処理するためにマシンをスケーリングする必要がある場合は、この特定のビットに対する正確なアプローチを理解する必要があります。

どんなアイデアでも大歓迎です:)

0 投票する
2 に答える
8277 参照

python - Python itertools.permutations のアルゴリズム

itertools.permutations誰かが Python 標準 lib 2.6 のルーチンのアルゴリズムを説明できますか? なぜそれが機能するのかわかりません。

コードは次のとおりです。

0 投票する
5 に答える
2456 参照

algorithm - [0,8000]の範囲で1000個の異なる整数を生成するアルゴリズム?

重複の可能性:
0から上限NまでのK個の非反復整数のリストを効率的に生成するにはどうすればよいですか?

以下とは対照的に、[0,8000]の範囲で1000個の異なるランダム整数を生成するためのいくつかの代替方法は何ですか。

  1. 素朴な方法:数値を生成し、それがすでに配列にあるかどうかを確認します。O(n ^ 2)
  2. 線形シャッフル:シーケンス0〜8000を生成し、シャッフルし、最初の1000を取得します。O(n)