import util.control.Breaks._
- 1 to 4 的全排序
- 2不能在第一位
- 3,4不能在一起
object LocalSpark extends App{
override def main(args: Array[String]): Unit = {
List(1,2,3,4).permutations.filter(list=>list(0) != 2).map(list=>{
var num =0
breakable{
for(x<- 0 to (list.size-1)){
if(list(x)==3 && x<3 && list(x+1)==4) break
if(list(x)==3 && x>0 && list(x-1)==4) break
num +=1
}
}
if(num <4){
List()
}else{
list
}
}).filter(list=>list.size>3).foreach(println(_))
}
}
结果
List(1, 3, 2, 4)
List(1, 4, 2, 3)
List(3, 1, 2, 4)
List(3, 1, 4, 2)
List(3, 2, 1, 4)
List(3, 2, 4, 1)
List(4, 1, 2, 3)
List(4, 1, 3, 2)
List(4, 2, 1, 3)
List(4, 2, 3, 1)
scala全排序过滤字段,求 1 to 4 的全排序, 2不能在第一位, 3,4不能在一起
最新推荐文章于 2025-12-01 22:16:52 发布
这段代码展示了如何使用Scala编写一个函数,生成一个1到4的列表,满足条件:2不在首位,且3和4不能相邻。最后输出的是所有符合条件的全排列列表。
1125

被折叠的 条评论
为什么被折叠?



