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)