深信服9.17 测试 笔试题
记录其中印象最深刻的一题:
张某(忘记名字了)住在公寓10楼,每天坐电梯下来到大堂,然后离开,晚上回来,若是电梯有人或者是当天是下雨天,他就坐电梯到10楼,其他情况就做电梯到7楼,然后走3层楼梯回到10楼。解释一下为什么?
拿到题的一瞬间我傻了,这到底谁知道?评论区有人知道吗!
然后20分两道编程题:
第一道:求运算复杂度
第一行第一个 代表n 第二个数字代表接下来m行
范例输入:
10000 6
O(n*n)
O(n*n*n)
O(sqrt(n))
O(lg(n))
O(n*lg(n))
O(n*lg(n*lg(n)))
O(n*n)
O(n*n*n)
O(sqrt(n))
O(lg(n))
O(n*lg(n))
O(n*lg(n*lg(n)))
其实就是输入上述字符串,然后计算O里面的结果,结果大于1.0E8 输出 LTE 都是乘法,我用两个栈实现半天结果还错了。。。
第二题:
钥匙孔和钥匙
钥匙孔用L位二进制数字表示如 L =2 11 L=3 011
钥匙扣 同理
输入一个数字代表 N 层钥匙
如N = 3
钥匙孔 钥匙扣
11 10
01 00
00 01
↑ ↑
IO IO
匹配钥匙能否插入钥匙孔,
每列钥匙孔下面有个开关(IO表示开关),可以将钥匙孔反转,例如钥匙孔第二列从上到下为 110 开关反转后为 001
此时状态:
钥匙孔 钥匙扣
10 10
00 00
01 01
↑ ↑
IO IO
此时钥匙一一匹配上钥匙孔,既可以开门,只要有一个不匹配就不能开。
输入范例里:
L代表L位二进制数 代表钥匙扣的形状
然后N代表 N个钥匙孔 代表N层输入
如 N =2 L = 3
钥匙孔 钥匙扣
101 101
001 000
↑↑↑
IO IO IO
输出的是 使钥匙和钥匙孔匹配最小转动开关次数
若不可能,则输出 IMPOSSIBLE (忘记是啥了,就是一个英文单词,这里意思一下)
看题都看了我10分钟,还没有思路
然后我想了想我投的岗位:测试岗
我一个小小测试岗为啥这么搞我心态??
全部评论
(3) 回帖