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

1 Answer

0 votes
fun findFirstAndLastPosition(arr: IntArray, n: Int): Pair<Int?, Int?> {
    var first: Int? = null
    var last: Int? = null

    for (i in arr.indices) {
        if (arr[i] == n) {
            if (first == null) first = i
            last = i
        }
    }

    return Pair(first, last)
}

fun main() {
    val arr = intArrayOf(1, 3, 3, 3, 3, 1, 9)
    val n = 3

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

    if (first != null && last != null) {
        println("First position = $first, Last position = $last")
    } else {
        println("Not found")
    }
}

   
      
/*
run:

First position = 1, Last position = 4
  
*/

 



answered May 10, 2025 by avibootz
...