标签:http customers count custom code 使用 tis length incr
解题思路,首先计算不算X的所有满意的客户数量。然后计算X时间可能产生的最大的客户满意数量,即使用滑动窗口的方式,从左往右,找出最大的值,加上之前的值即可。代码如下
class Solution {
/**
* @param Integer[] $customers
* @param Integer[] $grumpy
* @param Integer $X
* @return Integer
*/
function maxSatisfied($customers, $grumpy, $X) {
$count = 0;
$length = count($customers);
for($i = 0; $i < $length; $i++){
if($grumpy[$i] == 0){
$count += $customers[$i];
}
}
$increase = 0;
for($i = 0; $i < $X; $i++){
$increase += $customers[$i] * $grumpy[$i];
}
$maxIncrease = $increase;
for($j = $X; $j < $length; $j++){
$increase = $increase + $customers[$j] * $grumpy[$j] - $customers[$j - $X] * $grumpy[$j - $X];
$maxIncrease = max($maxIncrease, $increase);
}
return $count + $maxIncrease;
}
}
标签:http customers count custom code 使用 tis length incr
原文地址:https://www.cnblogs.com/qiye5757/p/14437653.html