11279번 - 최대 힙
testcase만 통과합니다 ㅜㅜ
예제는 testcase라고 부르지 않고 sample case라고 부릅니다.
55 3 4 1 0
입력으로 놓고
while (cur * 2 <= last - 1) 호출 전과 후를 비교해보면
1 3 4 로 시작해서 3 1 4 로 끝이 납니다.
root에 최대 값이 와야 되므로
else if (h[cur] < h[cur * 2])
else if (h[cur] < h[cur * 2 + 1])
서브 노드 각각을 현재 인덱스의 값과 비교해서 높은 수를 위로 올려 보내기 보다는
서브 노드 끼리 값을 비교 해서 높은 수를 위로 올려 보내는게 좋을 것 같네요
댓글을 작성하려면 로그인해야 합니다.
dmzld 4년 전
testcase만 통과합니다 ㅜㅜ