Skip to content

Commit 5a28755

Browse files
author
fenghongxiang
committed
[Feature]提交若干题目
Signed-off-by: fenghongxiang <fenghongxiang@xiaomi.com>
1 parent 82bcc44 commit 5a28755

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

leetcode4java/src/main/java/test/sort/HeapSort.java

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@
33
public class HeapSort {
44

55
public int[] sortArray(int[] nums) {
6-
for (int i = (nums.length >> 1) - 1; i >= 0; i--) adustHeap(nums, i, nums.length);
6+
7+
for (int i = (nums.length >> 1) - 1; i >= 0; i--)
8+
adustHeap(nums, i, nums.length);
9+
710
for (int i = nums.length - 1; i >= 0; i--) {
811
swap(nums, 0, i);
912
adustHeap(nums, 0, i);
@@ -12,19 +15,24 @@ public int[] sortArray(int[] nums) {
1215
}
1316

1417
private void adustHeap(int[] nums, int i, int length) {
18+
1519
int tmp = nums[i];
1620
for (int j = (i << 1) + 1; j < length; j = (j << 1) + 1) {
17-
if (j + 1 < length && nums[j + 1] > nums[j]) j++;
21+
if (j + 1 < length && nums[j + 1] > nums[j])
22+
j++;
23+
1824
if (nums[j] > tmp) {
1925
nums[i] = nums[j];
2026
i = j;
21-
} else break;
27+
} else
28+
break;
2229
}
2330
nums[i] = tmp;
2431
}
2532

2633

2734
void swap(int[] nums, int i, int j) {
35+
2836
if (nums[i] == nums[j]) return;
2937
nums[i] ^= nums[j];
3038
nums[j] ^= nums[i];

0 commit comments

Comments
 (0)