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.
*/