封筒のコレクションを注文する必要があります。各エンベロープは、その高さと幅で記述されます。Envelope1 は、envelope2 に挿入できる場合、envelope2 より小さくなります。エンベロープ 1 をエンベロープ 2 に挿入できない場合、またはその逆の場合は比較できません。
これらのエンベロープを scala で注文するにはどうすればよいですか? 私はインターネット上でそれに関する情報を見つけることができませんでした。
ここに私が持っているいくつかのコードがあります:
object EnvelopeOrdering extends PartialOrdering[(Int, Int)] {
override def tryCompare(x: (Int, Int), y: (Int, Int)): Option[Int] = {
if (x._1 < y._1 && x._2 < y._2) return Some(1)
if (x._1 > y._1 && x._2 > y._2) return Some(-1)
if (x._1 == y._1 && x._2 == y._2) return Some(0)
None
}
override def lteq(x: (Int, Int), y: (Int, Int)): Boolean = x._1 < y._1 && x._2 < y._2
}