拓普利兹矩阵,应该不用多说了。数组
要求本身的右下和左上元素值相等。优化
拿当前行的前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