Lettersong's recent timeline updates
Lettersong

Lettersong

V2EX member #92018, joined on 2015-01-15 20:39:02 +08:00
Per Lettersong's settings, the topics list is hidden
Deals info, including closed deals, is not hidden
Lettersong's recent replies
对比一下二手 Apple Pencil 和全新的差价,买 Apple Pencil 发现自己 [并不想画画] & [还是爱奇艺香] & [iPad 不适合画画] 还可以出掉回血,买山寨的大概率出不掉了
仅从提问方式来判断,我认为楼主会选本地生活
latex+vscode
部门有校招名额吗,想投
Jan 23, 2021
Replied to a topic by itechify 优惠信息 拼团算法 acwing 算法基础
想拼,拉个群一块刷?
Aug 21, 2020
Replied to a topic by KarasHou 酷工作 [米哈游] [秋季校招] 秋季校招&社招
芭芭拉冲鸭。
Go 是不是只有平台组在用呀,游戏客户端有考虑过用 Go 吗?
@metrue 居然在 V2 看到我家
自然语言描述:
struct node {

Elementtype data;

node *LChild;

node *RChild;

int level;

}

节点结构如上, level 用来标识节点所处的层数,

算法核心:层序遍历,需要用到队列

过程:

节点初始 level 都为 0

根节点入队

int maxLevel = 0;

while (队列不为空) {

node *tmp = 队列出队;

if (tmp->LChild) {

tmp->LChild 入队

tmp->LChild->level = tmp->level + 1;

}

if (tmp->RChild) {

tmp->RChild 入队

tmp->RChild->level = tmp->level + 1;

}

// 这一句保证最后 maxLevel 为最底层节点的层数

if (tmp->level > maxLevel) maxLevel = tmp->level;

}

上面的层序遍历时间复杂度为 O(n),做完之后每个节点都有自己所属的层数

vector<int> flag(maxLevel, 0);

再遍历一遍整棵树,每访问一个节点, flag.at(node->level) += 1;

时间复杂度仍然是 O(n)

最后扫一遍 flag 数组,找出最大的值就是宽度。

return 0;
sketch 已买,看过的视频里,这是第一个从设计的角度出发的,期待
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5654 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 12ms · UTC 06:16 · PVG 14:16 · LAX 23:16 · JFK 02:16
♥ Do have faith in what you're doing.