拓普利茲矩陣,應該不用多說了。數組
要求本身的右下和左上元素值相等。優化
拿當前行的前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