科大讯飞笔试316
1. 牛牛释放压力:压力值×工作天数+工作天数
2. 给一个时区计算另一个时区的时间:对小时-8+24取模
3.计算最长链:dfs,后序位置做运算统计结果
感觉不难,但是最后一道题写代码时写出了bug当时没调出来
,后面交卷后又调出来了
,希望2道也能进面吧
2. 给一个时区计算另一个时区的时间:对小时-8+24取模
3.计算最长链:dfs,后序位置做运算统计结果
感觉不难,但是最后一道题写代码时写出了bug当时没调出来
全部评论
同学,你的第三题是哪个每个节点有个权重,要求求出父节点的权重小于子节点的权重的最长链,或者别的情况,你还记得那个别的情况是啥吗,我当时看感觉乱码了,一堆1
第三题我dfs超时了,过了0.25

我的主要逻辑是这样写的,只能过16,不知道哪里错了
```cpp
int dfs(int u, int tog) {
// 有一个或者多个孩子,当前节点就找到最长链长度
vector<int> pls;
pls.resize(0);
for (int to : edges[u]) {
if (tog && a[to] >= a[u] || !tog && a[to] <= a[u]) {
pls.push_back(dfs(to, tog));
}
}
// size == 0 \\ 没有当前tog可用孩子确实应该这里处理
if (!pls.size()) return 1;
sort(pls.begin(), pls.end(), greater<int>{});
// cout << 'u' << u << '\n';
// for (int i : pls) cout << i << ' ';
// cout << '\n';
if (pls.size() >= 2) {
maxChainLen = max(maxChainLen, pls[0] + pls[1] + 1);
}
// size == 1
return pls[0] + 1;
}
```
友友们,笔试之后的筛选现在已经有人过了吗,我不知道我是不是复筛挂了
相关推荐

点赞 评论 收藏
分享

点赞 评论 收藏
分享