class Solution:
# @param A: Given an integer array
# @return: void
def heapify(self, A):
# write your code here
n = len(A)
if n == 0:
return
for i in range((n/2 - 1), -1, -1):
tmp = A[i]
j = 2 * i + 1
while j < n:
if (j + 1) < n and A[j+1] < A[j]:
j += 1
if A[j] >= tmp:
break
A[i] = A[j]
i = j
j = 2 * i + 1
A[i] = tmp
LintCode:堆化
最新推荐文章于 2023-01-05 18:01:34 发布