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