freedom.9
Senior Member
Vẫn chưa thấy cái cạc nào à Á Nôsang cty mới bận quá, mãi mới ngoi lên thớt đc
JavaScript:function shortestDistanceAfterQueries(n: number, queries: number[][]): number[] { const g: Map<number, number[]> = new Map(); for (let i = 0; i < n - 1; i++) { if (!g.has(i)) { g.set(i, []); } g.get(i)?.push(i + 1); } const bfs = () => { const arr: number[] = Array(n).fill(-1); arr[0] = 0; const q: number[] = [0]; let idx = 0; while (idx < q.length) { const node = q[idx++]; if (g.has(node)) { for (const nei of g.get(node)!) { if (arr[nei] === -1) { arr[nei] = arr[node] + 1; q.push(nei); } } } } return arr[n - 1]; } const res: number[] = []; for (const [u, v] of queries) { if (!g.has(u)) { g.set(u, []); } g.get(u)?.push(v); res.push(bfs()); } return res; };
via theNEXTvoz for iPhone





thay cái queue thành min heap theo khoảng cách từ source là thành dijkstra rồi bác