Leetcode上Database题目是怎么样实现评判的
应该是真实数据库上跑的。
当然肯定会建一个临时的数据库给你,权限也会严格设定好。
运行时间的话更简单了,MySQL本身就有会给出执行时间的,直接拿来用就行了。
【Leetcode上Database题目是怎么样实现评判的】 简单的想了下实现的思路,要我来的话会这么干。
用户提交代码。Server调用本地命令,克隆一份相应题目的数据库。执行用户的SQL代码。判断答案正确与否,这里可以是简单的一行行与标准答案对比,或者直接交付由另一个程序负责判断。(这个和普通的OJ题目类似,也是有静态文本答案对拍,或者Special Judge 用额外的程序判断两种方式)至于超时的判断也挺简单,可以在server端设一个计时器,运行SQL时先把它的进程ID记录下来,时间到了直接用SQL的kill命令杀掉相应的进程即可。把结果写入数据库记录下来,在网页上显示出来。对于出题人来说,只用提供三样东西:
题目原始数据库(数据)。答案(静态文本答案或者一个判断程序)。题目信息,包括文本描述,时限等等。
推荐阅读
- 标题|近年高考满分作文标题100例 ——如何写好高考作文题目
- 编程学不好
- 怎样评价2016年浙江高考作文题目《虚拟与现实》
- 趣头条|与“沃”的喜与悲
- 对于复杂的数学题目应怎样利用网络搜索答案
- 技巧|太全面了,收藏!高考语文各类型题目答题技巧大揭秘
- 汽车天涯|斯柯达:创变之心未曾改变
- Stanford公开课《Intro to Database》中老师所使用的数据库平台(如下图)是啥
- 求大家帮忙看看,c++无法解析的外部符号问题
- 有哪些关于互联网保险的、可以作为保险硕士毕业论文题目、又让人耳目一新的论文题目
