在ACM中检查代码的正确性只有一点,那就是可不可以从规定的思路得到一定的输出结果。
它不会去检查你的代码的每一步具体是怎么写的,它只需要知道你是不是在限制的时间和空间能够得到相应结果。
是单纯的比对输出结果来确定你完成了某种算法。
换个视角,其实在软件编码的过程中也可以参考。
只要能从固定的输入能够得到固定的输出,并且通过了大量的数据集,考虑到了各种边界情况。那么就可以认为代码是正确的。
这一点特别是在业务迭代和代码重构的时候可以参考。
没有绝对好的代码。因为总是有新的需求和挑战,需要重构,这里说的正确是相对的。