| Conditions | 8 |
| Paths | 6 |
| Total Lines | 22 |
| Code Lines | 15 |
| Lines | 0 |
| Ratio | 0 % |
| Changes | 1 | ||
| Bugs | 0 | Features | 0 |
| 1 | <?php |
||
| 9 | public static function transformArray(array $arr): array |
||
| 10 | { |
||
| 11 | if (empty($arr)) { |
||
| 12 | return []; |
||
| 13 | } |
||
| 14 | [$changed, $n] = [true, count($arr)]; |
||
| 15 | $tmp = $arr; |
||
| 16 | while ($changed) { |
||
| 17 | $changed = false; |
||
| 18 | for ($i = 1; $i < $n - 1; $i++) { |
||
| 19 | if ($arr[$i - 1] < $arr[$i] && $arr[$i] > $arr[$i + 1]) { |
||
| 20 | $tmp[$i] -= 1; |
||
| 21 | $changed = true; |
||
| 22 | } elseif ($arr[$i - 1] > $arr[$i] && $arr[$i] < $arr[$i + 1]) { |
||
| 23 | $tmp[$i] += 1; |
||
| 24 | $changed = true; |
||
| 25 | } |
||
| 26 | } |
||
| 27 | $arr = $tmp; |
||
| 28 | } |
||
| 29 | |||
| 30 | return $arr; |
||
| 31 | } |
||
| 55 |