面试题--scala全排序过滤字段
来源:互联网 发布:网络协议教程 编辑:程序博客网 时间:2024/06/14 19:20
目录
1、需求
2、代码
3、结果展示
————————————————————————————-
1、需求
求 1 to 4 的全排序, 2不能在第一位, 3,4不能在一起
2、代码
import util.control.Breaks._/** * Created by Administrator on 2017/9/22 0022. * * 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(_)) }}
3、结果展示
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)
阅读全文
0 0
- 面试题--scala全排序过滤字段
- 【面试题】全排列
- 【面试题】:全排列
- 面试题----选择排序
- 面试题---冒泡排序
- #面试题#稳定排序
- 冒泡排序--面试题
- 面试题:堆排序
- 面试题之排序
- 面试题:插入排序
- 排序算法面试题
- C#面试题(较全)
- C#面试题(全)
- Android 面试题集全
- php面试题超全
- Unity3D面试题(全)
- 最全iOS面试题
- 最全前端面试题
- Caddy轻松让HTTP端口实现TLS加密
- SPI--SPI协议和OLED裸板程序
- 自动轮播文字控件
- spring boot 使用 JdbcTemplate 连接oracle数据库 及修改启动端口方法
- C++ map,set内部数据结构
- 面试题--scala全排序过滤字段
- Struts2SpringHibernate框架的简单整合1
- python(3) 切片,迭代
- 操作系统基础知识
- CentOS安装strom、zeroMQ
- Android读写SD卡代码
- [Leetcode] 407. Trapping Rain Water II 解题报告
- PHP+ajax实现连接数据库、加载更多
- Android Studio config.gradle文件配置