You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Scala中如何用forall循环检查Vector所有行列数是否一致

解决方案

核心思路是取外层向量第一行的长度作为统一校验基准,所有行直接和该基准对比即可,无需使用相邻行比较逻辑。

代码补全

你可以根据是否允许外层向量为空选择对应写法:

  • 允许外层向量为空(空向量默认校验通过):
require(vec.isEmpty || vec.forall(row => row.length == vec.head.length))
  • 要求外层向量至少包含1行:
require(vec.nonEmpty && vec.forall(row => row.length == vec.head.length))

如果你的行数据确实需要从data集合中获取,把上述代码中的row.length替换为data(row).length即可。

逻辑说明

  • 写法利用||、&&的短路特性,不会在空向量场景下访问vec.head触发索引异常
  • 时间复杂度为O(k),k为外层向量的长度,每个行的length访问是常数时间操作,执行效率和相邻比较方案一致,但代码可读性更高

内容的提问来源于stack exchange,提问作者Tarmiac

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 23:15:03