(grid, queue, rottenCount = 0, minutes = 0)
| 31 | }; |
| 32 | |
| 33 | const bfs = (grid, queue, rottenCount = 0, minutes = 0) => { |
| 34 | while (!queue.isEmpty()) { |
| 35 | rottenCount += queue.size(); |
| 36 | |
| 37 | for (let i = queue.size() - 1; 0 <= i; i--) { |
| 38 | /* Time O(WIDTH) */ |
| 39 | expireFresh(grid, queue); |
| 40 | } |
| 41 | |
| 42 | if (queue.size()) minutes++; |
| 43 | } |
| 44 | |
| 45 | return { rottenCount, minutes }; |
| 46 | }; |
| 47 | |
| 48 | var expireFresh = (grid, queue) => { |
| 49 | const [rows, cols] = [grid.length, grid[0].length]; |
no test coverage detected