azl397985856 / leetcode

LeetCode Solutions: A Record of My Problem Solving Journey.( leetcode题解,记录自己的leetcode解题之路。)

Home Page:https://leetcode-solution-leetcode-pp.gitbook.io/leetcode-solution/

Repository from Github https://github.comazl397985856/leetcodeRepository from Github https://github.comazl397985856/leetcode

Java Code Error in "堆排序(上)"

RiskySignal opened this issue · comments

commented

我发现 ”堆排序(上)“的最后一个java代码中有错误。在构建堆的时候应该保证 i>0,即代码应该改成如下:
public void buildHeap() { for (int i = size >> 1; i > 0; i--) { shiftDown(i); } }
原有的测试确实不会出现错误,因为java的int默认是0,如果你加入一个负数的话,就能发现这个错误。

建议附上文章链接, 段落位置以及行号

这个错误的原因其实在于数组的第一项本来应该不参与运算的(至少我的这个实现是这样),这里却参与了。 而测试没有发现的问题在于 java 默认的 0 比其他元素都小。

fixed。 thank u

commented

😄 很棒