MCPcopy Create free account
hub / github.com/neetcode-gh/leetcode / bfs

Function bfs

javascript/0994-rotting-oranges.js:33–46  ·  view source on GitHub ↗
(grid, queue, rottenCount = 0, minutes = 0)

Source from the content-addressed store, hash-verified

31};
32
33const 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
48var expireFresh = (grid, queue) => {
49 const [rows, cols] = [grid.length, grid[0].length];

Callers 1

orangesRottingFunction · 0.70

Calls 3

expireFreshFunction · 0.85
isEmptyMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected