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

1 Answer

0 votes
import Foundation

func findFirstAndLastPosition(arr: [Int], n: Int) -> (Int?, Int?) {
    var first: Int? = nil
    var last: Int? = nil

    for (i, value) in arr.enumerated() {
        if value == n {
            if first == nil { first = i }
            last = i
        }
    }

    return (first, last)
}

let arr = [1, 3, 3, 3, 3, 1, 9]
let n = 3

let (first, last) = findFirstAndLastPosition(arr: arr, n: n)

if let first = first, let last = last {
    print("First position = \(first), Last position = \(last)")
} else {
    print("Not found")
}



/*
run:

First position = 1, Last position = 4

*/

 



answered May 10, 2025 by avibootz
...