[解決済み] 配列が他の配列の値を含むか?
2022-04-23 05:06:09
質問
ある配列が2番目の配列の要素を含んでいるかどうかをテストする最も効率的な方法は何ですか?
以下の2つの例では、この質問に答えようとしています。
foods
のいずれかの要素が含まれています。
cheeses
:
cheeses = %w(chedder stilton brie mozzarella feta haloumi reblochon)
foods = %w(pizza feta foods bread biscuits yoghurt bacon)
puts cheeses.collect{|c| foods.include?(c)}.include?(true)
puts (cheeses - foods).size < cheeses.size
解決方法は?
(cheeses & foods).empty?
Marc-André Lafortuneがコメントで言っていた通りです。
&
は線形時間で動作するのに対し
any?
+
include?
は2次関数になります。大きなデータセットでは、線形時間の方が速いでしょう。小さなデータセットの場合
any?
+
include?
の方が速いかもしれません。
&
は新しいArrayを確保するのに対し、別のソリューションはそうせず、単純なネストされたループとして機能し、booleanを返します。
関連
-
[解決済み] Ruby、スタックレベルが深すぎる (SystemStackError)
-
ERRORの問題を解決します。rails のインストール時に gem ネイティブ拡張のビルドに失敗しました。
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] 配列からArrayListを作成する
-
[解決済み] 配列に特定のインデックスで項目を挿入する方法 (JavaScript)
-
[解決済み] PHPで配列から要素を削除する
-
[解決済み] Javaで配列に特定の値が含まれているかどうかを判断するにはどうすればよいですか?
-
[解決済み] 配列を値でコピーする
-
[解決済み】オブジェクトの配列を文字列のプロパティ値でソートする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】StringからIntegerへの暗黙の変換がない(TypeError)?
-
[解決済み】Ruby: 特定のバージョンのruby gemをインストールする方法は?
-
[解決済み] Rubyでファイル名を変更するには?
-
[解決済み] RubyのHashをキーでアルファベット順にソートする方法
-
[解決済み] Rubyでリモートホストの到達可能性をpingで確認する方法
-
[解決済み] 文字列の文字をアルファベット順に並べるには?
-
[解決済み] Ruby on Railsでホスト名やIPを取得する
-
[解決済み] Ruby の `print` から bash スクリプトを呼び出して echo するにはどうしたらいいですか?
-
[解決済み] Rubyでファイルを移動するにはどうしたらいいですか?
-
[解決済み] Ruby で配列の順序を逆転させる