Перестановка нулей в конце массива - Разбор решения алгоритмической
Primary tabs
Forums:
Финальный вариант:
$arr = [0, 3, 2, 1, 0, 3, 2, 4, 0, -5];
// [3, 2, 1, 3, 2, 4, -5, 0, 0, 0]
$shift = 0;
foreach ($arr as $key => $val) {
if ($val === 0) {
$shift++;
} else {
$arr[$key-$shift] = $val;
}
}
for ($i=count($arr) - $shift; $i<count($arr); $i++ ) {
$arr[$i] = 0;
}
// ответ
foreach ($arr as $key => $val) {
echo $val . ' ';
}- Log in to post comments
- 38 reads