首页 > 解决方案 > 我在排序 Seq[Seq[Int]] 时遗漏了一些东西

问题描述

In scala, I am trying to sort the below sequence of sequence,

Seq(Seq(2,3,4),Seq(1),Seq(1,2),Seq(1,2),Seq(1,2,3),Seq(2,3),Seq(1,3,4),
  Seq(2,3,4,5),Seq(2,3,5),Seq(3,4,6),Seq(3,4),Seq(3,4,5))
.sortWith((a,b)=>{
  (a zip b).filterNot(x => (x._1==x._2 || x._1 &gt x._2)).size > b.size
})

Output required:

  <br/>1
  <br/>1, 2
  <br/>1, 2
  <br/>1, 2, 3
  <br/>1, 3, 4
  <br/>2, 3
  <br/>2, 3, 4
  <br/>2, 3, 4, 5
  <br/>2, 3, 5
  <br/>3,4
  <br/>3,4,5
  <br/>3,4,6


The pattern that I am looking for is similar to the following,

  <br/>1
  <br/>1,2
  <br/>1,2,3
  <br/>1,3,4
  <br/>2,4
  <br/>2,4,5
  <br/>2,5,6,7
  <br/>3
  <br/>3,4
  <br/>3,4,5
这种模式类似于三角形,但应该以相同的数字开始,然后又是另一个三角形,该三角形应该从前一个起始数字开始。

比较两个序列是直截了当的,但这具有挑战性。

请帮我解决这个场景。

标签: scala

解决方案


推荐阅读