如何判断列表元素是否无效

How To Find Out If A Listelement Is Invalid

我得到了两个列表,其中包含 (studentID, examID, points)、examList 和 practiceList

形式的元组

学号是七位正数。

examID是这样生成的:examID = randomInteger - studentID.

我们可以假设 exameID 总是:9.999.999 >= examID >= 10.000.000

对于每个 examID,我选择一个我以前没有使用过的 randomInteger。如果 examID 的结果也是七位数字(如学生 ID),我只使用 randomInteger。

假设 examList 中有一些无效条目。无效条目将采用以下形式:(examID, studentID, points),因此交换 examID 和 studentID。

所以如果我想使用这两个列表,例如计算每个学生的总分,我首先需要找出哪些条目是无效的。 那么 我怎样才能知道一个条目是有效的还是无效的?(最好以高效的方式)

事情太明显了。

examID是这样生成的:examID = randomInteger - studentID 我们知道 randomInteger 对每个学生都是唯一的

所以如果我们像这样改变等式:randomInteger = examID + studentID,我们只会得到 unique 整数值。

我们可以使用这个等式作为散列函数生成散列table.所以我们确保每个学生在散列 table.

中都有自己的索引

通过这种方式,我们可以确保 线性 运行 时间的 O(n)。 也可以以我们只需要 执行散列函数 2*n 次 的方式构建算法。 (n为学生人数)