How to check if a matrix is Toeplitz or not in Swift

1 Answer

0 votes
import Foundation

// A matrix is Toeplitz if every diagonal from top-left to bottom-right has the same elements

func isToeplitz(matrix: [[Int]]) -> Bool {
    let rows = matrix.count
    let cols = matrix[0].count
    
    for i in 1..<rows {
        for j in 1..<cols {
            print("\(i) \(j) - \(matrix[i][j]) : \(matrix[i - 1][j - 1])")
            if matrix[i][j] != matrix[i - 1][j - 1] {
                return false
            }
        }
        print("-----------")
    }
    
    return true
}

let matrix = [
    [2, 7, 9, 8],
    [4, 2, 7, 9],
    [3, 4, 2, 7],
    [0, 3, 4, 2],
    [6, 0, 3, 4]
]

if isToeplitz(matrix: matrix) {
    print("Matrix is a Toeplitz")
} else {
    print("Matrix is not a Toeplitz")
}



/*
run:

1 1 - 2 : 2
1 2 - 7 : 7
1 3 - 9 : 9
-----------
2 1 - 4 : 4
2 2 - 2 : 2
2 3 - 7 : 7
-----------
3 1 - 3 : 3
3 2 - 4 : 4
3 3 - 2 : 2
-----------
4 1 - 0 : 0
4 2 - 3 : 3
4 3 - 4 : 4
-----------
Matrix is a Toeplitz

*/

 



answered Jan 31, 2025 by avibootz

Related questions

1 answer 110 views
1 answer 123 views
1 answer 98 views
1 answer 121 views
1 answer 97 views
1 answer 129 views
1 answer 116 views
...