1
var shortestPath = function (grid, k) {9
const n = grid[0].length;12
const visited = new Set();13
visited.add(`0:0:${k}`);15
while (q.length > 0) {16
const size = q.length;17
for (let i = 0; i < size; i++) {18
let [x, y, ob] = q.shift();19
if (x === m - 1 && y === n - 1) {22
for (const d of dir) {25
if (xx >= 0 && xx < m && yy >= 0 && yy < n) {26
const newK = grid[xx][yy] === 1 ? ob - 1 : ob;27
if (newK >= 0 && !visited.has(`${xx}:${yy}:${newK}`)) {28
q.push([xx, yy, newK]);29
visited.add(`${xx}:${yy}:${newK}`);