Leetcode上Database题目是怎么样实现评判的

应该是真实数据库上跑的。
当然肯定会建一个临时的数据库给你,权限也会严格设定好。
运行时间的话更简单了,MySQL本身就有会给出执行时间的,直接拿来用就行了。

【Leetcode上Database题目是怎么样实现评判的】 简单的想了下实现的思路,要我来的话会这么干。
用户提交代码。Server调用本地命令,克隆一份相应题目的数据库。执行用户的SQL代码。判断答案正确与否,这里可以是简单的一行行与标准答案对比,或者直接交付由另一个程序负责判断。(这个和普通的OJ题目类似,也是有静态文本答案对拍,或者Special Judge 用额外的程序判断两种方式)至于超时的判断也挺简单,可以在server端设一个计时器,运行SQL时先把它的进程ID记录下来,时间到了直接用SQL的kill命令杀掉相应的进程即可。把结果写入数据库记录下来,在网页上显示出来。对于出题人来说,只用提供三样东西:
题目原始数据库(数据)。答案(静态文本答案或者一个判断程序)。题目信息,包括文本描述,时限等等。


    推荐阅读