| Conditions | 5 |
| Paths | 5 |
| Total Lines | 19 |
| Code Lines | 13 |
| Lines | 0 |
| Ratio | 0 % |
| Changes | 1 | ||
| Bugs | 0 | Features | 0 |
| 1 | <?php |
||
| 9 | public static function minFallingPathSum(array $grid): int |
||
| 10 | { |
||
| 11 | if (empty($grid)) { |
||
| 12 | return 0; |
||
| 13 | } |
||
| 14 | [$m, $n] = [count($grid), count($grid[0])]; |
||
| 15 | $curr = $grid[0]; |
||
| 16 | for ($i = 1; $i < $m; $i++) { |
||
| 17 | $next = $data = []; |
||
| 18 | self::helper($curr, $data); |
||
| 19 | $vals = array_slice($data, 0, 2); |
||
| 20 | for ($j = 0; $j < $n; $j++) { |
||
| 21 | $temp = $vals[0][1] === $j ? $vals[1][0] : $vals[0][0]; |
||
| 22 | array_push($next, $grid[$i][$j] + $temp); |
||
| 23 | } |
||
| 24 | $curr = $next; |
||
| 25 | } |
||
| 26 | |||
| 27 | return min($curr); |
||
| 28 | } |
||
| 39 |