【发布时间】:2020-06-04 20:46:40
【问题描述】:
我正在尝试循环排序降序数组,如果值大于 30,我们取消设置元素并增加一个计数器。
如果元素小于 30,我们检查另一个元素,看看总和是大于还是小于 30。
如果它更小,我们添加以下元素,如果它更大,我们取消设置之前使用的元素并增加计数器。
数组的一个例子是 [35, 20 ,15, 14, 9, 5]
for($x = 0; $x < $arrayItemSize; $x++)
{
if($sortArrayItem[$x] >= 30)
{
unset($weight[$x]);
$counter++;
}
else if($sortArrayItem[$x] < 30)
{
for($i = $x++; $i < $arrayItemSize; $i++)
{
$newWeight = $sortArrayItem[$x] + $sortArrayItem[$i];
if($newWeight >= 30)
{
unset($weight[$x]);
unset($weight[$i]);
$counter++;
}
else {
unset($weight[$x]);
$x++;
$i++;
if($newWeight + $weight[$i] > 30)
{
unset($weight[$x]);
$counter++;
}
}
}
}
}
这是我到目前为止所得到的,但我只是对如何进行感到困惑。
【问题讨论】: