讨论/综合讨论/官方的测试用例是怎么生成的?/
官方的测试用例是怎么生成的?

测试用例

从提交记录可以看出每题的测试用例的多少是不同的,有的只有几十个,有的却有几千个。

疑问

那么多的测试用例,是怎么生成的?

求解

希望知道的同学能帮我解惑一下。

展开讨论
大杯的咖啡发起于 2020-05-20
最近编辑于 2020-05-20

用 python 啊!生成用例非常简单
首先

import random as r

然后

  1. 生成长度为 10 的随机数组
[r.randint(1,100) for x in range(100)]
  1. 生成 100*100 的随机矩阵
[[r.randint(1,100) for x in range(100)] for y in range(100)]
  1. 生成随机字符串
''.join(r.choices('abcdefghijklmnopqrstuvwxyz',k=100))

然后把单引号替换为双引号
这些都可以直接复制到用例窗口中。(我每次提交之前都先用这些随机用例检查一遍,这样 AC 率就会很高)

用这种方法随机生成成百上千个用例都没有问题。不过官方的用例有一些还是精心构造的, leetcode 的前面的题的用例质量还是非常高的,覆盖了各种边界条件。还有一些用例是用户自己想到的,贡献给 leetcode 的。

展开全部 2 讨论