How to find the longest common string prefix in an array of strings with Scala

1 Answer

0 votes
import scala.util.Sorting

object FindTheLongestCommonStringPrefixInArrayOfStrings_Scala {
  def longestCommonPrefix(arr: Array[String]): String = {
    val size = arr.length

    if (size == 0) 
      return ""

    if (size == 1) 
      return arr(0)

    Sorting.quickSort(arr)

    val minLength = math.min(arr(0).length, arr(size - 1).length)

    var i = 0
    while (i < minLength && arr(0)(i) == arr(size - 1)(i)) 
      i += 1

    arr(0).substring(0, i)
  }

  def main(args: Array[String]): Unit = {
    val arr = Array("cartography", "carburetor", "carbonating", "cartoon")

    println(s"The longest common prefix: ${longestCommonPrefix(arr)}")
  }
}



/*
run:
    
The longest common prefix: car
    
*/

 



answered Aug 29, 2024 by avibootz
...