360笔试
两小时
选择题40道,涉及的范围特别广,操作系统,计算机组成原理,数据库,编程语言考的是C++而且特别多。选择题比较难。
编程题2道: 第一道 传染问题,给出n个人的距离(x,y),和传染距离K,其中某个人具有传染病(不确定),问最多可以传染多少人,比如m传染给x(m到x的距离小于等于k可以传染),然后x就可以继续传染其他人,问最多可能感染多少人。我的解题思路是BFS遍历,假设每一个点为传染者,然后求可以传染多少人,过了85%,其余超时,太菜了没优化出来
第二道 特殊的分数约分,给两个分数,第一个分数中分子分母可以消除相同的数字,判断是否能够得到第二个分数,能 Yes,不能No,看其他人说从0到9挨个删除判断是否能得到第二个分数,我也是此方法但只过了45%,其余错误,细节问题没想明白
。
选择题40道,涉及的范围特别广,操作系统,计算机组成原理,数据库,编程语言考的是C++而且特别多。选择题比较难。
编程题2道: 第一道 传染问题,给出n个人的距离(x,y),和传染距离K,其中某个人具有传染病(不确定),问最多可以传染多少人,比如m传染给x(m到x的距离小于等于k可以传染),然后x就可以继续传染其他人,问最多可能感染多少人。我的解题思路是BFS遍历,假设每一个点为传染者,然后求可以传染多少人,过了85%,其余超时,太菜了没优化出来
第二道 特殊的分数约分,给两个分数,第一个分数中分子分母可以消除相同的数字,判断是否能够得到第二个分数,能 Yes,不能No,看其他人说从0到9挨个删除判断是否能得到第二个分数,我也是此方法但只过了45%,其余错误,细节问题没想明白
全部评论
第一题我也是bfs,优化思路是先预先建立边,即顶点i与j之间的距离若≤k,则认为边(i,j)存在,在bfs的过程中直接找当前节点所涉及的边的另一个顶点即可
第一题我是调酒,第二题是修改一个数字求最大严格递增序列
我是建了个map,先遍历一下,求出每个点和它能感染的集合,最后挨个遍历,直到set size不变跳到下一个人, 中间size==总人数就直接返回总人数了,过了91,剩下的还是超时了
相关推荐
点赞 评论 收藏
分享
01-27 00:39
山东管理学院 嵌入式软件开发 点赞 评论 收藏
分享
今天 18:27
浙大宁波理工学院 C++ 点赞 评论 收藏
分享