[解決済み] Ruby で配列の交差、和集合、部分集合を得るにはどうしたらよいですか?
2022-04-15 17:45:12
質問
というクラスに対して、異なるメソッドを作成したいのです。 マルチセット .
必要なメソッドは揃っているのですが、intersection、union、subsetのメソッドの書き方がよくわかりません。
交差点と和集合については、私のコードはこのように始まります。
def intersect(var)
x = Multiset.new
end
以下はその例です。
X = [1, 1, 2, 4]
Y = [1, 2, 2, 2]
の交点は
X
と
Y
は
[1, 2]
.
解決方法は?
を行うことで、配列のセット操作を行うことができることを利用し、配列のセット操作を行うことができます。
&
(交差点)になります。
-
(差)、および
|
(union)です。
もちろん、私はMultiSetを仕様どおりに実装したわけではありませんが、これで始めることができるでしょう。
class MultiSet
attr_accessor :set
def initialize(set)
@set = set
end
# intersection
def &(other)
@set & other.set
end
# difference
def -(other)
@set - other.set
end
# union
def |(other)
@set | other.set
end
end
x = MultiSet.new([1,1,2,2,3,4,5,6])
y = MultiSet.new([1,3,5,6])
p x - y # [2,2,4]
p x & y # [1,3,5,6]
p x | y # [1,2,3,4,5,6]
関連
-
[解決済み] Rubyで新しい文字列を作成せずに文字列をトリミングする標準的な方法は何ですか?
-
[解決済み] Rubyでnil値をマッピングして削除する方法
-
[解決済み] Rubyでランダムな文字列を生成する方法
-
[解決済み] Ruby で PDF 文書を解析する
-
[解決済み] UNIONとUNION ALLの違いは何ですか?
-
[解決済み] Ruby on Railsで現在の絶対URLを取得するにはどうすればよいですか?
-
[解決済み] Rubyで乱数を取得する方法
-
[解決済み] Ruby/RailsでHashからキーを削除して残りのHashを取得する方法は?
-
[解決済み] Rubyのクラス名を取得する方法を教えてください。
-
[解決済み] JavaによるArrayListの交差と和集合
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Rubyのローカル変数が未定義である
-
[解決済み] Rubyの除算はなぜ10進数ではなく整数を返すのですか?
-
[解決済み] RubyのHashをキーでアルファベット順にソートする方法
-
[解決済み] あなたが提供した認証メカニズムはサポートされていません。AWS4-HMAC-SHA256を使用してください。
-
[解決済み] 文字列の文字をアルファベット順に並べるには?
-
[解決済み] ルビー、すべての単語の最初の文字を大文字にする
-
[解決済み] Ruby の `print` から bash スクリプトを呼び出して echo するにはどうしたらいいですか?
-
[解決済み] Rubyでファイルを移動するにはどうしたらいいですか?
-
[解決済み] .rb(Ruby)ファイルを表示するにはどうすればよいですか?
-
[解決済み] Rubyにバイナリ検索は組み込まれていますか?