对于我的方法,分区,对于我的快速排序,我运行它就可以了。但是,每当我在项目提交页面上上传时,测试都会对该代码的设计返回否定结果。这就像
static long partition(DataArray array, long l, long r, Record pivot)
throws Exception {
do { // Move bounds inward until they meet
while (array.get(++l).compareTo(pivot) < 0)
;
这条线,我得到.. 三个错误...
错误 [Checkstyle]: -2 这个语句只是一个 ';' 因此,什么也不做。您可能添加了一个';' 在不适当的位置(例如在 if 或 for 循环之后)。查看您是否缺少代码或只是删除额外的';'。
错误 [PMD]: -1(超出限制) 始终将代码放在大括号中的 while 循环体中是个好主意。它有助于减少出错的可能性。
错误 [PMD]:0(超出限制)此 while 循环的主体为空。确保在 while 之后没有错误地使用分号 (;)。如果你不需要在循环体中做任何事情,你可以完全省略循环。
while ((r != 0) && ((array.get(--r).compareTo(pivot) > 0)))
;
还有另外三个错误
错误 [Checkstyle]: -2 这个语句只是一个 ';' 因此,什么也不做。您可能添加了一个';' 在不适当的位置(例如在 if 或 for 循环之后)。查看您是否缺少代码或只是删除额外的';'。
错误 [PMD]: 0(超出限制) 最好始终将代码放在大括号中的 while 循环体中。它有助于减少出错的可能性。
错误 [PMD]:0(超出限制)此 while 循环的主体为空。确保在 while 之后没有错误地使用分号 (;)。如果你不需要在循环体中做任何事情,你可以完全省略循环。
swap(array, l, r); // Swap out-of-place values
}
while (l < r); // Stop when they cross
swap(array, l, r); // Reverse last, wasted swap
return l; // Return first position in right partition
}
我知道这个测试服务器是有线的,所以我从这种原因中得到了分数。如何重新编写执行相同操作的代码?