Leetcode PHP題解--D26 766. Toeplitz Matrix

766. Toeplitz Matrix

題目連接

766. Toeplitz Matrixphp

題目分析

拓普利茲矩陣,應該不用多說了。數組

要求本身的右下和左上元素值相等。優化

思路

拿當前行的前0~n-1位,與下一行的1~n位對比便可。.net

把二維數組降維爲一維,再取當前行的頭n位和下一行的頭n位(去掉第一個元素,由於在下一行會比較它)比較便可。code

用這個方法會重複較多值,有優化空間。ci

最終代碼

<?php
class Solution {
    function isToeplitzMatrix($matrix) {
        $indicies = array_reduce(array_reverse($matrix), 'array_merge', []);
        $cols = count($matrix[0]);
        $rows = count($matrix);
        if($rows == 1 ){ 
            return true;
        }
        foreach(range(0,$rows-2) as $val){
            $left = array_slice($indicies, $val*$cols+1, $cols-1);
            $right = array_slice($indicies,($val+1)*$cols,$cols-1);
            if(implode($left)!=implode($right)){
                return false;
            }
        }
        return true;
    }
}

若以爲本文章對你有用,歡迎用愛發電資助。leetcode

相關文章
相關標籤/搜索