Leetcode PHP题解--D113 598. Range Addition II
D113 598. Range Addition II
题目链接
题目分析
给定一个二维数组的宽和高和一个代表操作的二维数组。
操作二维数组M[i][j]中,代表需要给二维数组的0<=i<a, 0<=j<b的每一个元素+1。
最终返回二维数组中最大值的出现的次数。
思路
其实这个题目不需要逐个去+1。而是需要去获取进行操作后被操作次数最多的范围。只需要求出该范围的宽和高进行相乘就好了。
最终代码
class Solution {
/**
* @param Integer $m
* @param Integer $n
* @param Integer[][] $ops
* @return Integer
*/
function maxCount($m, $n, $ops) {
if(empty($ops)){
return $m*$n;
}
$allIs = array_column($ops, 0);
$allJs = array_column($ops, 1);
return min($allIs) * min($allJs);
}
}
只超过了50%。怀疑是因为用了两次array_column的原因导致需要遍历两次数组。
若觉得本文章对你有用,欢迎用爱发电资助。
No Comments