9

Facebook Hacker Cup 2013 Qualification Problems を Scala で試していました。3 番目の問題については、順序付けされたマルチセットが必要だと感じましたが、scala の (2.10) コレクションには見つかりませんでした。このデータ構造はscalaのコレクションにありませんか? 将来のバージョンで実装される予定はありますか? すでにセットを実装している場合、マルチセットは本当に必要ありませんか?

4

5 に答える 5

2

マルチセットは、かなり特殊で珍しいデータ構造です。たとえば、Java の標準ライブラリの一部でもありません。Guava には 1 つあり、Boost にもありますが、Boost には基本的にすべてがあります。

要素の出現回数を数えることだけが必要な場合は、SortedMap代わりに from 要素を使用して数を数えることができます。一方、要素が区別され、取得可能であるが、並べ替え規則の下で同等であることが必要な場合は、SortedMapfrom 要素 (どの要素であるかは重要ではありません) をSetof の区別された要素に使用できます。

于 2013-01-31T02:40:33.327 に答える
1

Seq特性はdiffintersectさらにはunion. これは、多くのマルチセットの問題を解決するのに役立ちます。http://www.scala-lang.org/api/2.11.7/index.html#scala.collection.Seq@diff(that:Seq[A]):Seq[A]

于 2015-09-07T19:01:50.143 に答える
0

必要なのは平等であり、パフォーマンスをあまり気にしない場合は、ソートされたリストを使用できます。

于 2014-02-22T09:12:01.590 に答える