1. 不用库函数求sqrt(xxxx). 要求c / c++
二分
2. 大意:给你n个点以及颜色,只有两种颜色红和蓝,给你n个边(无向图), 节点的权重为该节点到根节点的红蓝两种颜色数量差,问这个树的权重和为多少?
dfs 超时
bfs 超时
层次遍历超时。
据说用并查集 但是还没想明白。
3. 大意: 给你n个人,每个人会关注mi个股票。 设计一个推荐系统,推荐规则为:如果i人和j人都关注了股票m, 那么j的关注名单就可以推荐给i, 给你一堆查询的人,问每一个人可以推荐多少支股票?
感觉是set的优化,超时。
最开始: 我用的是 用两个hash table 记住 {人:股票set} 和 {股票:人} 但是超时。 10%。
然后我想到的了用 {人:股票set} 和 股票集
股票集指的是。如果 i 关注了 股票 a,b,c 那么意味着 abc是一起的,只要出现一个 其他的都会出现
所以我将所有的股票分组成group。
确保 group[i] 和 group[j]无交集
最后对于查询的人, 找到他的股票集即可
遗憾的是 还是超时 30%。
#zoom校招##笔试##笔试算法题##做完zoom2023秋招笔试,人麻了#