PHP Min Avg Two Slice
function minAvgTwoSlice(array $a): int
{
$idx = 0;
$min = ($a[0] + $a[1]) / 2;
for ($i = 0, $count = count($a); $i < $count - 1; $i++) {
$cur = ($a[$i] + $a[$i + 1]) / 2;
if (isset($a[$i + 2])) {
$three = ($a[$i] + $a[$i + 1] + $a[$i + 2]) / 3;
$cur = $cur < $three ? $cur : $three;
}
if ($cur < $min) {
$min = $cur;
$idx = $i;
}
}
return $idx;
}
This leans on the key trick for this problem: the minimum average slice is always length 2 or 3.