Facebook Hacker Cup 2013 Qualification Problems を Scala で試していました。3 番目の問題については、順序付けされたマルチセットが必要だと感じましたが、scala の (2.10) コレクションには見つかりませんでした。このデータ構造はscalaのコレクションにありませんか? 将来のバージョンで実装される予定はありますか? すでにセットを実装している場合、マルチセットは本当に必要ありませんか?
質問する
5054 次
5 に答える
2
マルチセットは、かなり特殊で珍しいデータ構造です。たとえば、Java の標準ライブラリの一部でもありません。Guava には 1 つあり、Boost にもありますが、Boost には基本的にすべてがあります。
要素の出現回数を数えることだけが必要な場合は、SortedMap
代わりに from 要素を使用して数を数えることができます。一方、要素が区別され、取得可能であるが、並べ替え規則の下で同等であることが必要な場合は、SortedMap
from 要素 (どの要素であるかは重要ではありません) をSet
of の区別された要素に使用できます。
于 2013-01-31T02:40:33.327 に答える
1
Seq
特性はdiff
、intersect
さらには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 に答える