d*d
2 楼
我记得这个,好像没有得出完美答案
g*y
3 楼
heap to BST, 我只知道个不完美的答案,把heap sort后,依次填回heap结构中,用
successor()。
BST to heap, 有人给出答案:
public void bst2heap(int a[]) {
int n = a.length;
reverseArm(a, 0, n);
for (int i = 1; i < n / 2; i += 2)
reverseArm(a, i, n);
}
private void reverseArm(int a[], int from, int n) {
int to = from;
while (to * 2 + 2 < n)
to = to * 2 + 2;
while (to > from) {
int t = a[to];
a[to] = a[from];
a[from] = t;
from = from * 2 + 2;
to = to / 2 - 1;
}
}
这个答案有一点小bug, 就是最后的叶子有可能不对,需要检查一下。
successor()。
BST to heap, 有人给出答案:
public void bst2heap(int a[]) {
int n = a.length;
reverseArm(a, 0, n);
for (int i = 1; i < n / 2; i += 2)
reverseArm(a, i, n);
}
private void reverseArm(int a[], int from, int n) {
int to = from;
while (to * 2 + 2 < n)
to = to * 2 + 2;
while (to > from) {
int t = a[to];
a[to] = a[from];
a[from] = t;
from = from * 2 + 2;
to = to / 2 - 1;
}
}
这个答案有一点小bug, 就是最后的叶子有可能不对,需要检查一下。
相关阅读
mitbbs和一亩三分地怎么用一家的offer去和另外一家offer讨价还价马鬃A9怎么样?求指点:HR要以前面试纪录才约下次面试是什么原因?50岁的码农还能有转行的机会吗华为能杀进美国市场么?急】hireright背景调查台湾秒杀北上广深海归的行情进了国企真的能一辈子安稳无忧吗?(转载)data scientist 的工资和马公没法比较教授社会地位吊打马工嘛? (转载)其实业余时间带badge出门还不是最SB的uber找了一个黑女人做head of diversity我们组终于要被搞掉了亚马逊西雅图长期内推(直接递给hiring manager)cloud vs AI 哪个方向更适合职业发展郭文贵5月29日爆料精华版出来了,8分钟 (转载)看到新闻地铁清洁工底薪11万,马工的工资确实不高打车公司一题求解