像 Hackerrank 和 Leetcode 这样的自我评估网站如何检查答案是否正确?

问题描述 投票:0回答:1

所以,我有这个评估,要求我解决一堆编程问题,这些问题将被自动标记。

我找到了解决这个问题的方法,但其他人找到了不同的方法。例如,

定义一个函数,它接受 2 个参数、一个位置(作为 x 和 y 坐标的元组)和一个作为字符串的指令(北、南、西、东)。给定提供的位置,当遵循指定的指令时,它应该返回新位置(作为 x 和 y 坐标的元组):

北向 y 正方向移动一步 南向负 y 方向移动一步 西向 x 负方向移动一步 东向 x 正方向移动一步

如果指令无效,应返回旧位置。使用该函数确定从点 (-3, -5) 开始时的最终位置,并遵循以下说明:

方向 = ['南', '北', '东', '东']

将此最终位置分配给变量final_point。

所以我不是在寻求帮助来回答这个问题,因为我已经有了解决方案,但我想了解如何标记它。

我的函数在给定参数“方向”的情况下计算 1 go 中的最终位置,而不是像其他解决方案那样 1 by 1 计算。我假设如果我为“final_position”分配正确的答案,那么无论我的方法如何,计算机都会将其标记为正确?假设这是像 Hackerrank 和 Leetcode 中那样标记的。

谢谢

我希望计算机根据输出(将其与预期输出进行比较)来标记答案,而不是获取输出所使用的方法。

python oop
1个回答
0
投票

这些网站有一堆测试用例,如果它提供了预期的答案,就会针对它们运行您的函数。

如果您提前知道测试用例,原则上您可以通过使您的“解决方案”纯粹是查找表输入/输出来避免它。

分析您用于得出结果的方法尚未完成。事实上这是不可行的(另见https://en.wikipedia.org/wiki/Halting_problem)。

这些网站可能会对您的程序施加其他限制,例如时间或内存限制。

© www.soinside.com 2019 - 2024. All rights reserved.