scala - 找到最小的内部理解?
问题描述
我有两个包含 GPS 坐标的列表,我想在这两个列表中找到坐标之间的最短距离。现在我已经遍历列表并将每个距离存储到另一个列表中,如下所示:
val distanceList = for {
c1 <- cordinatesList1
c2 <- cordinatesList2
distace = calculateDistances(c1, c2)
} yield distance
现在我可以从 中得到最小值,但是有没有在不存储所有距离的情况下distanceList
找到最小值?for-comprehension
解决方案
它不能在内部完成,for
但可以在外部完成,如果评估是懒惰的,则不会保存中间结果。
(for {
c1 <- cordinatesList1.toStream
c2 <- cordinatesList2
} yield calculateDistances(c1,c2)).min
推荐阅读
- python - 具有 NaN 值的二维数组上的快速滑动窗口均值和标准偏差
- ruby - 缺少要链接的主机!请提供 :host 参数,设置 default_url_options[:host]
- bash - 如何在服务器中运行期望脚本以进行 SSH 并在 bash 脚本中设置值
- java - 如何用画布预览当前绘制的对象?
- javascript - 使用 firebase javascript 登录 Facebook 时出错
- git - 如何在本地 Git 工作目录中找到文件被删除的时间?
- php - 从 mongodb 获取数据并在 html 表中显示
- php - Laravel 表单未提交
- javascript - 如何在单击按钮时加载下一个元素
- python - 在 django 中通过表单更新数据库数据