How to find first and last positions of an element in a sorted array in Scala

1 Answer

0 votes
object FindFirstAndLastPosition {
  def findFirstAndLastPosition(arr: Array[Int], n: Int): (Option[Int], Option[Int]) = {
    var first: Option[Int] = None
    var last: Option[Int] = None

    for (i <- arr.indices) {
      if (arr(i) == n) {
        if (first.isEmpty) first = Some(i)
        last = Some(i)
      }
    }

    (first, last)
  }

  def main(args: Array[String]): Unit = {
    val arr = Array(1, 3, 3, 3, 3, 1, 9)
    val n = 3

    val (first, last) = findFirstAndLastPosition(arr, n)

    first match {
      case Some(f) => println(s"First position = $f, Last position = ${last.get}")
      case None => println("Not found")
    }
  }
}



/*
run:
   
First position = 1, Last position = 4
 
*/

 



answered May 10, 2025 by avibootz
...