leetcode 具体是怎么运行你的代码片段的?

2022-01-05 16:28:57 +08:00
 ericgui

比如某一个题,你写了一个函数,提交了,运行结果你通过了

这个在 leetcode 后台具体是怎么实现的?你传过去的是一个大大长长的字符串,然后他们要把这个字符串写入某个文件,比如 py 文件,比如 Java 文件,比如 js 文件

然后有一个外部的函数来调用这个文件里的函数?

后台用什么运行? docker ?

2624 次点击
所在节点    程序员
6 条回复
Mutoo
2022-01-05 16:37:45 +08:00
https://github.com/zhblue/hustoj
可以参考开源 oj 本质就是在一个受限环境编译运行你的代码,跑测试数据并统计结果。
mrlmh00
2022-01-05 16:40:02 +08:00
你看看开源的 oj 怎么实现的呗
https://github.com/zhblue/hustoj
mrlmh00
2022-01-05 16:40:43 +08:00
@Mutoo 卧槽巧了。。我发完了刷新出来你的
zouzou0208
2022-01-05 17:31:34 +08:00
恰好我完整的研究过,可以参考我这篇文章

力扣的程序是如何运行的:
https://github.com/yihong0618/gitblog/issues/205
zouzou0208
2022-01-05 17:32:44 +08:00
是 docker 运行,但做了安全保护,无法逃逸。这篇文章写了 python 的,关于其它语言可以用这个方式自己研究。
constructor
2022-01-06 13:49:12 +08:00
前几天对 replit 运行代码研究过:使用 docker 运行单个代码文件或项目,
https://v2ex.com/t/821487#r_11174090

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/826388

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX