scala - 查找是否存在 Seq 的 n 个元素的总和,等于一个值
问题描述
示例:拥有一个数组
arr[10,-5,-115,6,70,25,345,-35]
求其任意 4 个元素之和是否为 100。
解决方案
use combinations https://www.scala-lang.org/api/2.12.4/scala/collection/Seq.html#combinations(n:Int):Iterator[Repr]
scala> Seq(10,-5,-115,6,70,25,345,-35).combinations(4).map(_.sum).exists(_ == 100)
res15: Boolean = true
scala> Seq(10,-5,-115,6,50,25,345,-35).combinations(4).map(_.sum).exists(_ == 100)
res16: Boolean = false
scala> Seq(10,-5,-115,6,80,25,345,-35).combinations(4).map(_.sum).exists(_ == 100)
res17: Boolean = false
推荐阅读
- git - How to securely git clone/pip install a private repository into my docker image?
- vue.js - 对象的属性已更新,但没有新对象被推送到数组中(购物车、单个文件组件)
- javascript - 使用ajax更改事件对象后如何刷新fullcalendar v4
- mongodb - graphql 中的查询
- mysql - 如何在 INFORMATION_SCHEMA.TABLES 和其他表之间建立关系
- c# - 如何从 System.Timers.Timer 访问剪贴板
- java - 等待主框架加载时出现 JxBrowser TimeoutException (invokeAndWaitFinishLoadingMainFrame)
- java - 如何正确控制 Firebase 远程配置?价值观不会改变
- angular - 当所有 XHR 请求完成时做一些事情 - Angular 7
- here-api - 检索速度类型与速度类别