How to find repeated rows of a matrix in Swift

1 Answer

0 votes
import Foundation

func rowToString(_ row: [Int]) -> String {
    return row.map { String($0) }.joined(separator: ",")
}

func findRepeatedRows(_ matrix: [[Int]]) {
    var rowCount: [String: Int] = [:]

    for row in matrix {
        let pattern = rowToString(row)
        rowCount[pattern, default: 0] += 1
    }

    print("Repeated Rows:")
    for (pattern, count) in rowCount where count > 1 {
        print("Row: [\(pattern)] - Repeated \(count) times")
    }
}

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

findRepeatedRows(matrix)



/*
run:

Repeated Rows:
Row: [1,2,3] - Repeated 2 times
Row: [4,5,6] - Repeated 3 times

*/

 



answered May 24, 2025 by avibootz
...