Estoy experimentando algo que me está confundiendo.
Mientras trabajaba en problemas en javascript en leetcode, encontré una solución que implementaba MaxPriorityQueue en la solución.
La solución publicada fue:
Finally, there's a Max/MinPriorityQueue for JavaScript! add -> enqueue( ) remove -> dequeue( ) highest number (peek) -> front( ) .element -> actual value var lastStoneWeight = function(stones) { const m = new MaxPriorityQueue() for(const w of stones) m.enqueue(w) while(m.size() > 1){ const diff = m.dequeue().element - m.dequeue().element if(diff > 0) m.enqueue(diff) } return m.size() === 0 ? 0 : m.front().element };Traté de implementar esto yo mismo en mi propio entorno y obtuve:
const m = new MaxPriorityQueue(); ^
ReferenceError: MaxPriorityQueue no está definido
en lastStoneWeight (C:\Users\steph\Desktop\coding-projects\learning-js\leetcode\last-stone-weight.js:55:13) en Object. (C:\Users\steph\Desktop\coding-projects\learning-js\leetcode\last-stone-weight.js:66:13)
Fui y conecté el mismo código en leetcode y funcionó sin problemas.
Traté de encontrar documentación sobre un objeto MaxPriorityQueue, pero todo lo que usaba un MPQ se implementó desde cero.
Si alguien pudiera arrojar un poco de luz sobre por qué esto no funciona en mi entorno personal (nodejs, VSCode), se lo agradecería.