IOS 算法(基礎(chǔ)篇) ----- 托普利茨矩陣

給你一個 m x n 的矩陣 matrix 。如果這個矩陣是托普利茨矩陣,返回 true ;否則,返回 false 。如果矩陣上每一條由左上到右下的對角線上的元素都相同,那么這個矩陣是 托普利茨矩陣

例子

輸入:matrix = [[1,2,3,4],[5,1,2,3],[9,5,1,2]]
輸出:true

exp

解釋:
在上述矩陣中, 其對角線為:
"[9]", "[5, 5]", "[1, 1, 1]", "[2, 2, 2]", "[3, 3]", "[4]"。
各條對角線上的所有元素均相同, 因此答案是 True 。

輸入:matrix = [[1,2],[2,2]]
輸出:false
解釋:
對角線 "[1, 2]" 上的元素不同。

解題思路

按照題意我們可以理解成

matrix[i][j] 與 matrix[i+1][j+1] 是否相等的問題

(i為行, j為列)

雙循環(huán)暴力法求解

代碼

未翻譯版

    func isToeplitzMatrix(_ matrix: [[Int]]) -> Bool {

        for i in 0..<matrix.count - 1 {
            for j in 0..<matrix[i].count - 1 {
            
                if matrix[i+1][j+1] != matrix[i][j] {
                    return false;
                }
                
            }
        }

        return true;
    }

翻譯版

    func isToeplitzMatrix(_ matrix: [[Int]]) -> Bool {

        // 循環(huán)行
        for i in 0..<matrix.count - 1 {
            // 循環(huán)對應(yīng)行中每一個元素
            for j in 0..<matrix[i].count - 1 {
                // 判斷是否與對角線元素相等
                if matrix[i+1][j+1] != matrix[i][j] {
                    // 不相等返回false
                    return false;
                }
                
            }
        }
        // 其他情況返回true
        return true;
    }

題目來源:力扣(LeetCode) 感謝力扣爸爸 :)
IOS 算法合集地址

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容