【问题标题】:Looking for an element in the array scala在数组scala中寻找一个元素
【发布时间】:2021-01-18 19:42:53
【问题描述】:

我正在编写这个函数来识别数组中第一个缺失的元素。 我想返回缺少的元素,但我得到了一个单位

我无法确定我错过了什么

def missingElement(a : Array[Int]) : Int = {

  val result =for (i <- 1 to a.length) {
    if(! a.contains(i)) {
      i
    } 
  }
  result

}

【问题讨论】:

    标签: arrays scala missing-data


    【解决方案1】:

    “确定第一个”是find 操作,所以代码可能如下所示:

    def missingElement(a: Array[Int]): Option[Int] = 
      a.indices.find(i => !a.contains(i+1))
    

    这会返回一个Option,因为可能没有缺少元素,在这种情况下它将返回None,否则它将返回Some(n)

    【讨论】:

    • 这是一个断章取义的问题,但是有没有办法在 scala 中测量时间和空间复杂度?
    • 没有自动方式。一个起点是this article,它给出了标准库中主要集合类型上各种操作的复杂性。
    猜你喜欢
    • 1970-01-01
    • 2019-12-20
    • 1970-01-01
    • 2021-02-04
    • 1970-01-01
    • 2011-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多