脚本宝典收集整理的这篇文章主要介绍了Leetcode PHP题解--D26 766. Toeplitz Matrix,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
766. ToeplITz Matrix
题目链接
题目分析
要求自己的右下和左上元素值相等。
思路
拿当前行的前0~n-1位,与下一行的1~n位对比即可。
把二维数组降维为一维,再取当前行的头n位和下一行的头n位(去掉第一个元素,因为在下一行会比较它)比较即可。
用这个方法会重复较多值,有优化空间。
最终代码
<?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 PHP题解--D26 766. Toeplitz Matrix全部内容,希望文章能够帮你解决Leetcode PHP题解--D26 766. Toeplitz Matrix所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。