How to search for a number in a sorted matrix in Swift

1 Answer

0 votes
import Foundation

func searchMatrix(_ matrix: [[Int]], _ target: Int) -> Bool {
    let rows = matrix.count
    if rows == 0 {
        print("Not found")
        return false
    }
    let cols = matrix[0].count

    var row = 0
    var col = cols - 1

    while row < rows && col >= 0 {
        let value = matrix[row][col]

        if value == target {
            print("Found: i = \(row) j = \(col)")
            return true
        } else if value > target {
            col -= 1
        } else {
            row += 1
        }
    }

    print("Not found")
    return false
}

func main() {
    let matrix = [
        [2, 3, 5, 7, 8],
        [10, 13, 17, 18, 19],
        [25, 26, 30, 37, 38],
        [43, 46, 50, 51, 99]
    ]

    if searchMatrix(matrix, 37) {
        print("Target was found.")
    } else {
        print("Target was not found.")
    }
}

main()


 
/*
run:
 
Found: i = 2 j = 3
Target was found.
 
*/
 

 



answered Oct 8, 2025 by avibootz
edited Apr 15 by avibootz
...