問題タブ [non-repetitive]
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.
algorithm - 範囲内の非反復ランダム シーク アルゴリズム
範囲内で繰り返しなしでランダムな値を生成する効率的なアルゴリズムを探しています。
擬似コード: (クラス Rand 内)
使用法:
r.getNumber() から返される数値は、以前に返された数値とは常に異なる必要があります。
もちろん、to - from + 1
数値が返された場合、アルゴリズムは再び開始する必要があります (またはエラーが発生します - とにかく重要ではありません)。
範囲が非常に大きくなる可能性があるため、ランダムに配置された配列 (最初は[from, to]
数値を含む) はメモリをオーバーフローする可能性があることに注意してください。
random - numpy の非反復乱数
numpyで非反復乱数を生成するにはどうすればよいですか?
php - ランダム化されたマトリックスでの繰り返しの排除
7x7 グリッドの各セルに 1 つの数値を配置するプログラムを作成しています。無作為に選ばれた 56 個の数字があり、繰り返しがあってはなりません。
最終結果は、各セルに 1 から 56 までの整数が含まれ、2 つのセルに同じ番号が含まれていない 7x7 グリッドになるはずです。これを行う最も効率的な方法は何ですか?
余分な言葉: セルごとにグリッド セルを通過し、乱数 1-56 を追加する for x{for y{}} を作成しようとしました。次に、56 スロットの配列をチェックして、その番号が既に使用されているかどうかを確認し、それに応じて番号を再ロールするか受け入れるかのいずれかを行い、その番号を使用中としてマークするために配列にフラグを立てます。何らかの理由で、それを機能させることができず、悪い解決策のように思えました。私はそれを破棄し、代わりに毎回 for x{for y{}} を 1 秒間実行し、グリッド セル全体をセルごとに確認してから、承認または拒否しました。これもうまくいかず、扱いにくそうに見えたので、これも廃棄しました。
java - Java での効率的な繰り返しのないパスワード ジェネレーター
私は何度もこのサイトにアクセスし、質問への回答を見つけましたが、ついに私自身の質問を投稿する時が来ました! したがって、私のソフトウェアの特定のクラスの目的は、固定長のランダムなパスワードを生成することであり、「低」ASCII 文字で構成されています。主な問題は、同じパスワードを 2 回生成したくないが、常に一意であることを保証することです。最初に、これまでに生成した各パスワードをハッシュし、戻る前に新しいパスワードを作成するたびにチェックとして使用するために、 HashMapを使用しました。ただし、Java HashMap オブジェクトはサイズが制限されているため、最終的に Map が飽和しすぎて、許容可能な取得時間を維持できなくなります。以下は、問題に対する私の最新のクラックです。
編集:セットの提案に感謝します。私のコードも今ではとてもきれいになります!
私は単にダムジェネレーターメソッドを使用してBlockingQueueを埋め、それをマルチスレッド化することにするかもしれません...
さらなる明確化: これは、安全なパスワードを生成するためのものではありません。最終的に可能なすべてのパスワードを生成し、指定された長さと文字セットに対して 1 回だけ生成することを単純に保証する必要があります。
ノート:
私は皆の意見を取り入れ、考えられるパスワードを順番に生成し、それらをディスクに保存することがおそらく最善の選択肢であるという結論に達しました。それか、単純にパスワードの重複を許可し、複数の Generator スレッドで非効率性を補います。
javascript - 繰り返しの JavaScript (jQuery) コード
これが私がやっている簡単なことです。それぞれ「.item-1」、「.item-2」などと呼ばれるいくつかの div があります。ユーザーが「.item-1」にカーソルを合わせると、「#city-info-1」div が上にスライドします。ユーザーがホバーすると下にスライドします。私はそれを行うことを十分に知っていましたが、それをコーディングした方法が可能な限り最良の方法ではないことも十分に知っていました. 他の人がこれを行う方法に興味があるので、毎回実質的に同じコードを繰り返す必要はありません。提案に感謝します:)
java - Javaで範囲内で繰り返されない乱数を生成する
4を含めて1から4までの範囲で乱数を発生させたいです。
これが私のコードです:
ただし、上記のコードをループで実行しているため、乱数を繰り返したくありません。今起こっていることは、しばしば私が得ていることです:
1,1,1,2,3,1,4,2,2,1,4,2,4,4,2,1,4,3,3,1,4,2,4,1
私の出力として。
ここでは、数字は範囲 (1 ~ 4) 内でランダムですが、最初の 3 回の繰り返しで数字 "1" のように繰り返されることがよくあります。
私が探しているのは、ループ内で繰り返されない乱数を取得する方法です。私が知っている簡単な方法の 1 つは、現在の反復と比較の前に最後の乱数を保持することですが、これにはもっと良い解決策があるはずです。
前もって感謝します。
javascript - Ajaxを使用して関数呼び出しを行うより短い方法はありますか?
関数全体をここに貼り付けます。ちなみに、このスクリプトでは口ひげのテンプレート ライブラリを使用しましたが、この質問では必要ありません。
非同期であるために Ajax の成功でローカル変数を割り当てることができないため、短くして繰り返しコードを削除することができませんでした。私は約15時間インターネットをさまよいました。しかし、まだ運がありません。
繰り返しコードを削除して、これを短くするにはどうすればよいですか?
xcode - arc4randomを使用したXcodeの乱数の非反復アルゴリズムで配列が空です
Xcodeでarc4randomを使用してランダム値を生成する際に問題が発生しました。すでに取得されている番号を乱数から除外したいと思います。これは私が書いたアルゴリズムです
しかし、それは機能しません。おそらく、配列内のrandomvalueとj番目のオブジェクトが比較できないためだと思います(最初のオブジェクトと2番目の文字列?)。誰か助けてくれませんか?
c++ - コードの繰り返しを避けながら、多数の C++ クラスを比較可能にする
特定の型のインスタンスを相互に比較できるように、一連のクラスを作成する必要があります。
各クラスに固有の比較メソッドを作成し、次のコードを各クラス定義に追加して、 T を現在のクラスの名前に置き換えることを考えました。
ただし、これは一種の繰り返しです。それを行うより一般的な方法はありますか?そのためのマクロを作成して、T でパラメーター化することもできると思いますが、マクロは今ではあまり cplusplusy ではありませんね。継承とポリモーフィズムについても考えましたが、それについて読んだところ (私はまだ仮想クラスを使用していません。C++ は初めてです)、不必要なランタイム オーバーヘッドを導入しているように思えます。 m は、基本クラス ポインターを介して均一にアクセスする必要はありません。マクロやコピー&ペースト以外に、それを達成するためのより良い方法はありますか?
random - 繰り返さない乱数
ゼロから生成された数値の量まで、約 900 万から 100 万の非反復乱数を生成する必要があり、それらを非常に迅速に生成する必要があります。同様の質問に対するいくつかの回答は、乱数を取得するために配列を単純にシャッフルすることを提案し、他の回答はブルーム フィルターを使用することを提案しました。問題は、どちらがより効率的かということです。ブルーム フィルターの場合、どのように使用すればよいでしょうか。