問題タブ [array-algorithms]

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 投票する
0 に答える
40 参照

loops - この Java コードを最適化 / 再設計する

皆さん。
使用する設計パターン (またはそのようなもの) に関する意思決定について助けやアドバイスが必要です: EJB を介して weblogic で実行されるアプリケーションを用意します。アプリケーションの一部は、オブジェクトの非常に大きなデータ セット (数万または数十万) を処理し、いくつかのセクションで構成される xml ファイルを構築します。

結果の XML は次のようになります。

問題は、アプリケーションがこの大きなデータ セットをループし、実際の xml を書き込む前にいくつかの操作を実行することによって、"section_i" のそれぞれが構築されることです。私は作戦を制御することはできません。ただし、各セクションは順番に実行されるため、リストが最初から最後までトラバースされるたびに、次々と実行されます。これをマルチスレッド化することを考えています。つまり、xml の各セクションを作成するスレッドを指定します。しかし、パフォーマンスには疑問があります。既存のシステムでは非常に時間がかかりますが、最終的には完了します。マルチスレッドに移行すると、他のアプリが実行されているサーバーで別の問題が発生するのではないかと心配しています。このような問題を解決するための既知のパターンはありますか? ArrayList の使用をハッシュ表現のセットに変更しようとしましたが、ただし、これにより、トラバーサル時間ではなく、ルックアップが高速化されます。何かアドバイスはありますか?チェックするリソースを知っている人はいますか?

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

c++ - コンテナの複雑さ

したがって、 と がstd::set<int>ありstd::list<int>ます。
コンテナを整理したい。セットの場合、挿入された要素の
ように複雑になります。リストの場合、要素の挿入+呼び出しの ような複雑さがあります。 どちらの場合も複雑さは ですが、 の場合は余分な操作があります。そして、リバランスのための一定の時間があります。O(nlogn)n
O(n)nO(nlogn)list::sort
O(nlogn)O(n)std::listset

ここで質問があります。どのコンテナがより速く動作しますか?

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

algorithm - 範囲を更新し、すべてのインデックスで発生する最大値を追跡する

N 要素の配列、たとえば A[] が与えられます。最初は、それらのすべてが負の無限大に等しくなります。

ここで、2 種類のクエリ (合計 M クエリ) を実行するよう求められます。

1 を入力します。2 つの整数 a と d が与えられた場合、配列 A[] をインデックス l からインデックス r に更新する必要があります。正確に行う必要があるのは、「val」と言う値を含む各インデックスl + i(0 <= i <= rl)について、そのインデックスの値を最大a + i * dで更新する必要があり、 val、つまり、A[l+i] = max(A[l+i], a+i*d)。

2 を入力します。整数 'i' が与えられた場合、A[i] の値を報告する必要があります。

例 : N = 5、M = 4 とする

注: N と M の値は 100000 にもなる可能性があるため、O(N*M) よりも優れたアルゴリズムを探しています。

ありがとう。

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

algorithm - 帯域幅制約のある i 次統計

次のことを考えてみてください。Mary と Larry はそれぞれ配列 M [1,..., n] と L[1,..., n] を持っています。M と L の要素はすべて異なります。Mary と Larry は、組み合わせた配列の i 次統計量を見つけることに関心があります。Mary と Larry は別の都市に住んでいるため、帯域幅に関して通信制限があります。それらは、値が {0,..., n} 内に収まる一度に 1 つの整数、または M または L 配列から取得された任意の値のいずれかを相互に送信できます。各数値送信は通信としてカウントされます。これらの制約に基づいて独自のプロトコルを定義できます。この問題の 1 つの目標は、結合された i 次統計量を計算するために必要な通信の数を最小限に抑えることです。通信回数を最小化するアルゴリズムを導出します。

i 次の統計を見つける効率的な方法を考え出すのに苦労しています。問題を再帰的に解決するために Random-Select アルゴリズムを使用しようとしましたが、通信部分が私を失望させています。どんな助けでも大歓迎です。

0 投票する
3 に答える
3014 参照

c++ - int 配列からの最小頻度共通数

int 配列から最小公倍数を見つけなければなりません。コードを書きましたが、正しく動作しません。

これが私のロジックです。 1.配列をソートします 2.更新された最小共通カウンターを取得します 3.すべてが一意であるかどうかを取得します

そして以下のコード、

コメントで述べたように、ケース B のみが機能し、ケース A と C は機能しません。問題の解決を手伝っていただけますか?

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

ruby - カードゲーム War を Ruby でモデリングし、無限ループを取得し続けます。誰かが私の制御フローで何がうまくいかないのかを理解するのを手伝ってくれますか

Ruby は初めてで、数週間前に始めたばかりです。ゲームのプレイ方法をシミュレートするアルゴリズムを作成しようとしていますが、無限ループに陥っています。制御フローに問題があり、それがわかりません。現時点では、war 部分のループを追加するのではなく、配列の最後からカードを取り出して最初に戻すだけです。また、注意してください、私は .shuffle を使用しません! しないように言われたからです。これは私のアルゴリズム クラスの一部です。また、私は不正行為をしているわけではありません。スタック オーバーフローやその他のリソースを使用するように言われました。

誰かが私が間違っている場所を理解するのを手伝ってくれますか? ありがとう!

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

arrays - ルート検索アルゴリズムで一連のベクトルを使用する

反復によるルートを計算するために単純なルート検索アルゴリズムが必要な時系列を扱っています。これを行うために、パッケージを使用しますrootSolveapplyただし、一度に1つずつではなく、データセット全体を使用して複数の観測に対してこのアルゴリズムを拡張したい場合に、ファミリのどの関数を使用するかを特定しようとすると、いくつかの問題が発生します。

これは、1 つの観測用に記述されたコードを簡略化したものです。

割引とパーセンテージの各セットの関数の根を見つけることができるように、それぞれ 780 個の観測値を含むベクトルに対して、、、およびapplyを変更する関数 (必要だと思います) をどのように記述しますか? これは簡単かもしれませんが、正しく理解できませんでした。Z1Z2Z3Z4Z5

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

java - 線形プレフィックス平均法は、二次プレフィックス平均法よりも優れていますか?

配列のプレフィックス平均を計算する方法 (オンラインで見つけた疑似コードに基づく) を作成しましたが、要件を満たしているかどうかはわかりません。

要件は次のとおりです。

n 個の数値の配列 a[1…n] が与えられた場合、長さ n の別の配列 b[1…n] を計算して、b[i] が a[0]…a[i] の平均になるようにします (0 <=)。 i <= n.

調べてみると、プレフィックス平均メソッドの線形バージョンと二次バージョンの疑似コードが見つかり、それぞれの独自の実装を作成しました。

線形バージョンは次のとおりです。

二次バージョンは次のとおりです。

私の質問:

これらの関数は両方とも要件を満たしていますか? もしそうなら、どちらが優れていますか?