所以 Leetcode 已经支持 @datastructs-js/priority-queue 这就是为什么我可以使用
let heap = new MinPriorityQueue()
盒子外面。但后来我意识到,当我采访 coderpad 或 hackerrank 时,我可能无法访问 npm 包,我需要像这样开箱即用地使用这些数据结构。
关于如何实现这一目标有什么建议吗?
我查看了 coderpad 文档 - 他们说我可以安装我想要的任何 npm 包,但到目前为止还没有找到正确的方法。任何帮助表示赞赏!
https://coderpad.io/languages/frontend-frameworks/
CoderPad 支持通过 shell 使用 npm 命令。这意味着您可以 npm 软件包生态系统中任何库的任何版本。您还可以创建 .npmrc 文件来自定义 npm 的安装逻辑。
shell 似乎只能在“前端框架”中使用。
当您选择要在其中进行编码的前端框架时,您会注意到一个多窗格窗口,与流行的 IDE 中的窗口类似。
...第三个窗格提供交互式 shell、服务器日志输出和控制台。
选择HTML对我有用。它确实为您提供了一个
main.js
文件,尽管常规输出窗口不再存在,取而代之的是 Console 和 Logs,因此它不如直接的 javascript 环境那么方便。
在壳中:
Starting shell...
~/app $ npm install --save @datastructures-js/priority-queue
added 2 packages, and audited 92 packages in 2s
8 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
在
main.js
:
import {
PriorityQueue,
MinPriorityQueue,
MaxPriorityQueue,
ICompare,
IGetCompareValue,
} from '@datastructures-js/priority-queue';
let heap = new MinPriorityQueue()
console.log(heap)
然后点击运行并检查控制台可以看到:
MinPriorityQueue {_heap: MinHeap, constructor: Object}
_heap: MinHeap
<constructor>: "MinPriorityQueue"