2023年8月30日吉比特笔试
---------------- 2023年8月30日吉比特笔试 ----------------
在牛客上笔试,两道看程序写结果,三道编程(在线评测,可用本地ide,无切出限制)
单选
好像15-20道
- 88叉树,给定705个节点,问叶子节点有多少个
- 数组模拟队列,front和rear指针,问队满的条件
- 数据库相关几道
- 概率论很多道,比如给定男女人数和总人数,去三个地区,一个地区选18个人,已知后选的是男性x人,问先选18 - x个人当中,女性的概率是多少
- 其他全是数据结构和Cpp
问答
- 考Cpp值传递、地址传递、引用传递(给定代码写结果)
- 考大小端存储(将及格16进制数存在char数组里)、位运算(左移、右移、异或交换两数字),二进制辗转相除法
编程题
第一题
给定一组长度为n的字符串('a'-'z'),代表n只队伍,进行n次比赛,让你求出名次
排名优先判定,排名相同看最高名次的场次,也相同字典序最先
也就是说,a得过第一名,一定比没得过第一名的某队名次高
案例一
3
abc
abc
abc
输出
abc
a得三次第一,b的三次第二,c的三次第三
案例二
3
abc
cba
cba
输出
cab
a得一次第一,c得两次第一,所以c第一
b得三次第二,但是由于a得过一次第一,所以a得第二
b得第三
喵喵喵
刚拿这题一看,我去,简单题,直接一个pair记录,记录名次权重,第一名1,第二名为2,累加权重,然后根据权重排序,排出的就是答案。
然后,xxx,漏看条件了,导致调试了好久,没调出。
"排名优先判定",也就是案例二(题目案例不是上面这个,但是在题目当中说了,紧张了,没看仔细)
第二题
有一组数,包含正数和负数
两个人在比赛,每次
A可以从左端或者右端选择任意个连续(这个连续是指相隔,不是指数字递增)的数作为分数
(也就是说可以一次选全部)
B也可以从左端或者右端选择任意个连续的数作为分数
问如果A最先开始,并且每次A,B两人每次选择都是最优解,A能领先B多少分
案例一
4
1 2 3 4
输出
10
A一次将所有数选了
案例二
4
10 -100 -200 20
输出
90
喵喵喵
┭┮﹏┭┮,┭┮﹏┭┮,第二种情况还没分析出来,就交卷了
取巧选择所有正数,过了10%,算法渣渣是这样的
第三题
┭┮﹏┭┮
┭┮﹏┭┮
#秋招##吉比特##笔试#