
实现
function test2()
{
//香蕉堆数 和数量
$piles = [3, 6, 7, 11 ,9 ,88,6 ];
// $piles = [3, 9, 7, 11];
// $piles = [3, 9, 7, 10, 15];
//保安离开时间
$H = 8;
//总堆数
$N = count($piles);
//堆数大于小时 ,吃不完
if ($N > $H) {
var_dump('吃不完');die;
}
//最大速度不超过 每小时 吃掉最大一堆
$max_k = max($piles);
for ($k = 1; $k <= $max_k; $k++) {
//清零计时
$j = 0;
$sign = true;
foreach ($piles as $key => $value) {
//按最低速度吃完 向上取整
$j += ceil($value / $k);
//时间累积 超过保安离开时间$H
if ($j > $H) {
$sign = false;
break;
}
}
if ($sign == true && $j >= $H) {
echo "速度{$k}个/每小时,计时{$j}小时";
die;
}
}
var_dump('error');
die;
}
网友评论