ARST打卡第133周[133/521]

Algorithm

lc559_N叉树的最大深度

dfs维护最大深度即可,bfs层数也可以

链接:https://leetcode-cn.com/problems/maximum-depth-of-n-ary-tree/solution/n-cha-shu-de-zui-da-shen-du-by-leetcode-n7qtv/

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// dfs
class Solution {
public:
int maxDepth(Node* root) {
if (root == nullptr) {
return 0;
}
int maxChildDepth = 0;
vector<Node *> children = root->children;
for (auto child : children) {
int childDepth = maxDepth(child);
maxChildDepth = max(maxChildDepth, childDepth);
}
return maxChildDepth + 1;
}
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// bfs
class Solution {
public:
int maxDepth(Node* root) {
if (root == nullptr) {
return 0;
}
queue<Node *> qu;
qu.push(root);
int ans = 0;
while (!qu.empty()) {
int size = qu.size();
while (size > 0) {
Node * node = qu.front();
qu.pop();
vector<Node *> children = node->children;
for (auto child : children) {
qu.push(child);
}
size--;
}
ans++;
}
return ans;
}
};

Review

【TED演讲】电子表格的发明者

发现问题,思考解决思路,设计原型,解决问题,改变世界

Tips

鸟哥的Linux私房菜–服务器架设篇目录

Share

gdb技巧积累

  • 有些地址是智能指针,所以需要自己手动判断类型去对地址指定类型输出,而不是直接*p,否则无法输出内容

(gdb) p *(Inode*)0x140c5500

  • 查看目前情况下所有的线程堆栈. thread apply all bt