問題タブ [elements]

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

php - いくつかの多次元配列から数える

次の配列を生成するforeachがあります。

出力として、次のようなものを取得したいと思います。

新しい配列の値は、ループから生成されたすべてのarayからの要素の数です。array_count_values()はここでは機能しません...何か提案、問題を解決する方法は?

0 投票する
11 に答える
27573 参照

c++ - コレクション内の重複する要素を見つけてグループ化するための高速なアルゴリズムは何ですか?

要素のコレクションがあるとします。重複している要素をどのように選択し、それらを最小の比較で各グループに入れることができますか? できれば C++ ですが、アルゴリズムは言語よりも重要です。たとえば、{E1,E2,E3,E4,E4,E2,E6,E4,E3} を指定した場合、{E2,E2}、{E3,E3}、{E4,E4,E4} を抽出します。どのデータ構造とアルゴリズムを選択しますか? std::multimap のような事前にソートされたデータ構造の場合、データ構造のセットアップのコストも含めてください。

アップデート

提案されたように物事をより明確にするため。1 つの制約があります。要素が重複していることを確認するには、要素を単独で比較する必要があります。

したがって、ハッシュは適用されません。事実上、比較を重い要素(データのチャンクなど)から軽い要素(整数)にシフトし、比較を減らしますが、それらをなくすわけではなく、最終的には元に戻ります1つの衝突バケット内にある場合の元の問題。

それぞれ GB の潜在的な重複ファイルがたくさんあるふりをすると、それらは人間が知っているすべてのハッシュアルゴリズムによって同じハッシュ値を持ちます。これで、実際の重複を見つけることができます。

いいえ、それは実際の問題ではありません (MD5 でさえ、実際のファイルの一意のハッシュを生成するのに十分です)。しかし、データ構造 + 比較の最小量を含むアルゴリズムを見つけることに集中できるように、ふりをしてください。


私がやっていることは

  1. STL std::list データ構造に表現します (1) その要素の削除は、たとえばベクトルよりも安価です 2) その挿入は、ソートを必要とせずに安価です。)

  2. 1 つの要素を取り出して残りの要素と比較し、重複が見つかった場合はリストから除外します。リストの最後に到達すると、1 つのグループの重複が検出されます。

  3. リストが空になるまで、上記の 2 つの手順を繰り返します。

最良のケースでは N-1 が必要ですが、(N-1)! 最悪の場合。

より良い代替手段は何ですか?


上記で説明した方法を使用した私のコード:


以下の回答に感謝しますが、私の例では整数に関するものであると誤解されているようです。実際、要素はタイプにとらわれず (整数、文字列、またはその他の POD である必要はありません)、等しい述語は自己定義されます。つまり、比較は非常に重くなる可能性があります

したがって、おそらく私の質問は次のとおりです。どのデータ構造とアルゴリズムを使用すると、比較が少なくなります。

multiset のような事前に並べ替えられたコンテナーを使用すると、私のテストによると multimap は良くありません。

  1. 挿入中のソートはすでに比較を行っています。
  2. 次の隣接する発見は再び比較を行い、
  3. これらのデータ構造は、等しい演算よりも小さい演算を優先し、2 つのより小さい演算を実行します (a

比較を保存する方法がわかりません。


以下のいくつかの回答で無視されているもう1つのことは、重複したグループをコンテナに保持するだけでなく、互いに区別する必要があることです。


結論

いろいろ話し合った結果、3つの方法があるようです

  1. 上記で説明した私の元の素朴な方法
  2. のような線形コンテナーから開始しstd::vector、並べ替えてから、等しい範囲を見つけます
  3. のような関連するコンテナから始めて、std::map<Type, vector<duplicates>>Charles Bailey の提案に従って、関連するコンテナのセットアップ中に重複を選択します。

以下に投稿されているように、すべてのメソッドをテストするサンプルをコーディングしました。

複製の数とそれらがいつ配布されるかは、最良の選択に影響を与える可能性があります。

  • 方法 1 は、先頭で激しく落下する場合に最適であり、最後に落下する場合は最悪です。並べ替えは分布を変更しませんが、エンディアンを変更します。
  • 方法 3 のパフォーマンスが最も平均的です
  • 方法 2 は決して最良の選択ではありません

議論に参加してくれたすべての人に感謝します。

以下のコードからの 20 個のサンプル項目を含む 1 つの出力。

[ 20 10 6 5 4 3 2 2 2 2 1 1 1 1 1 1 1 1 1 ] でテスト

および [ 1 1 1 1 1 1 1 1 1 2 2 2 2 3 4 5 6 10 20 ] それぞれ

std::vector を使用 -> sort() -> neighbor_find():

比較: [ '<' = 139, '==' = 23 ]

比較: [ '<' = 38, '==' = 23 ]

std::list を使用 -> sort() -> リストを縮小:

比較: [ '<' = 50, '==' = 43 ]

比較: [ '<' = 52, '==' = 43 ]

std::list を使用 -> リストを縮小:

比較: [ '<' = 0, '==' = 121 ]

比較: [ '<' = 0, '==' = 43 ]

std::vector を使用 -> std::map>:

比較: [ '<' = 79, '==' = 0 ]

比較: [ '<' = 53, '==' = 0 ]

std::vector を使用 -> std::multiset -> neighbor_find():

比較: [ '<' = 79, '==' = 7 ]

比較: [ '<' = 53, '==' = 7 ]

コード

0 投票する
6 に答える
193 参照

css - CSS要素を中央に配置できません

CSSを使用して、自分のサイトを一生中心に置くことができません。私は以下を含むウェブ上で提案されたすべての通常の方法を試しました:

次に使用する

しかし、それはただ中心に行きません。ページの左側にとどまります。

中央に配置したい要素のCSSの例は次のとおりです。

したがって、私のHTMLは次のようになります。

しかし、前に述べたように、要素はそのままです。ありがとう!エリック

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

javascript - Javascript - 要素を画像として視覚的に表現する

これはロングショットですが、それを可能にする可能性のあるものを見てきました。

画像で満たされた div があります。あなたが知っている必要がある場合はアルバムカバー。そして、ユーザーがこれを画像としてダウンロードできるようにしたいと考えています。そのため、デスクトップの背景のようなものとして使用できます。

それで、これは可能ですか?要素のこの視覚的表現を取得し、画像として表示しますか?

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

command - アクティビティごとに要素を一覧表示する

私は自動ビルドに取り組んでおり、特定のアクティビティの下で作業された要素を一覧表示できる必要があります。私はClearCaseを初めて使用するので、素朴で申し訳ありません...

私のダウンストリーム ビルド プロセスは正常に動作し、1 つまたは複数のアクティビティ、ラベルなど (実際には、変更/リリース マネージャーが必要とする任意の組み合わせ) に関連付けられた (チェックインされた) ファイルを識別することにより、「ビルド前」領域にデータを入力する必要があります。ビルドの候補ファイルを一覧表示し、M: ドライブ (Windows) からコピーします。AIX および Win XP Pro デスクトップのバックエンドで CC 7.1 を使用しています。ccperl を使用して、検索とコピーのプロセスを実行します。

「find」と戦ったが無駄だった - 誰か手を貸してくれる?すべての助けを感謝して受け取りました。

崖。

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

wpf - WPF StackPanel静的アイテムをループする方法は?

おそらく非常に簡単ですが、私はこれを理解するのに苦労しています(また、Googleはあまり役に立たないようです)。

StackPanelの静的に宣言された要素(データバインディングなし-要素はxamlで宣言されています)をループするにはどうすればよいですか?

助けていただければ幸いです。

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

jquery - jQueryの要素にバインドされたイベントのリストを取得することは可能ですか?

質問が言ったように、特定の要素にバインドされたイベントのリストが必要です。

クリック、マウスオーバーなどのイベントが、dom の読み込み時にその要素にバインドされていることを意味します。

(ばか) 例:

結果:

クリック、マウスオーバー、フォーカス

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

jquery - jQuery:隠し要素 - 一般的な質問

要素が非表示になっていると、読むことができません。それらの寸法、これは一般的な JavaScript の問題ですか、それとも jQuery に回避策がありますか?

私は例えば持っています。ウィジェットを含む一部のタブは、非表示になっているため初期化が正しく機能しません。

どうも

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

jquery - jqueryで入力の型を返す

動的に作成されたフォーム要素を持つフォームがあります。

各要素の値を取得し、ajax リクエストを送信して、データが正常であることを確認する必要があります (簡単な部分です)。各要素の値を簡単に取得できますが、問題はラジオ ボタンにあります。例えば:

私が何かをするなら...

チェックされているかどうかに関係なく、すべてのラジオ ボタンの値が出力されます。

チェックされたものの値のみを返す必要があります。

では、jquery から入力要素の型を返す方法はありますか?