深信服2020秋招笔试真题
深信服2020秋招笔试真题
1、混淆报表
【题目描述】深信服项目经理在汇总一份报表,为避免部分敏感信息泄露,涉及到对报表数字的加密。
现在找到你,需要你来帮忙,实现一个算法,把报表内的数字进行加密:
对于指定的有符号整数n,你需要将这个n中的数字反转来实现混淆。
输入描述
第一行输入一个数字
输出描述
输出反转后的数字
备注
假设硬件只能支持32位的有符号整数,则其数值范围为 [−231,231− 1]。基于这个前提,如果反转后整数溢出那么就返回0。
示例1
输入
123
输出
321
示例2
输入
-234
输出
-432
示例3
输入
110
输出
11
【参考代码】
import sys n = int(sys.stdin.readline()) def revert(x): if x >= 0: result = int(str(x)[::-1]) if result - (2 ** 31 - 1) < 0: return result else: return 0 else: result = -int(str(x)[-1:0:-1]) if result > -2 ** 31 - 1: return result else: return 0 print(revert(n))
2、十进制数字
【题目描述】对于十进制数字,可以用普通的十进制表示法,比如2020,也可以使用科学计数法,比如 2020e2020。
编写代码,验证指定的字符串是否可以解释为合法的十进制数字。
输入描述
第一行接收需要判断的字符串
输出描述
结果为真,则输出1,否则输出0
备注
在实现代码之前,你应当事先思考所有可能的情况。这里给出一份可能存在于有效十进制数字中的字符列表:
- 数字 0-9
- 指数 "e"
- 正/负号 "+"/"-"
- 小数点 "."
示例1
输入
0
输出
1
示例2
输入
0.1
输出
1
示例3
输入
abc
输出
0
示例4
输入
-90e3
输出
1
【解题思路】
直接由正则表达式匹配判断即可。
【参考代码】
import sys import re s = sys.stdin.readline() # code here s = s.strip() if bool(re.match(r'^[+-]?(\d+)?(\.\d+)(e[-+]?\d+)?$', s) &nbs***bsp;re.match(r'^[+-]?(\d+)(\.\d*)?(e[-+]?\d+)?$', s)): print(1) else: print(0)
3、军训方阵
【题目描述】大学新生军训时,根据性别、班级、升高等将所有的新生分为若干个连队(每个连队的人数可能不一致),军训结束后统一阅兵时,希望将所有的连队排列成一个大致规整的矩形方阵,每一行的最大人数(MaxCount)可以手动指定。
要求:
1. 连队的顺序不可改变。
2. 所有的学生前后需要对齐。
3. 每个连队的学生必须在同一行。(MaxCount会大于等于 每一个连队的人数)。
4. 同一连队的学生必须左右相邻,即之间不能有空位,而不同连队的学生之间可以有空位。
5. 如果一行只有一个连队时,需要连队站在整行的中间位置,如无法在正中间,则需要左边的空位比右边的空位多一个。
6. 如果一行有多个连队时,需要此行的最左边和最右边都站有人,连队之间可用空位分隔,要求尽可能均匀分配连队间的空位数量,如果某一行连队间的空位不能均匀分配,则左侧的空位数量要多于右侧的空位数量,且只能多一个。
输入描述
第一行依次输入每个连队的人数,以空格分隔
第二行输入最终方阵的每一行的最大人数
输出描述
最终方阵的展示信息。
备注
输出时,以+ 表示学生,以 - 表示空位。
示例1
输入
4 3 2 7 2 4 10 6 6 4 5 5 11 14
输出
++++---+++--++ +++++++-++++++ --++++++++++-- ++++++--++++++ ++++++++++++++ --+++++++++++-
说明
输入:共13个连队,每个连队的人数如上。最终方阵每行的最大人数为14
输出:
第一行:只能站3个连队,需要补充5个空位,左边的空位数量需要大于等于右边,且只能多一个
第二行:只能站3个连队,需要补充1个空位,左边的空位数量需要大于等于右边
第三行:只能站1个连队,需要补充4个空位,需要在整行的中间位置
第四行:只能站2个连队,需要补充2个空位,左右两边都需站人
第五行:刚好站3个连队,无需补充空位
第六行:只能站1个连队,需要补充 3个空位,需要在整行的中间位置,左边的空位数量需要大于等于右边
【参考代码】
# -*- coding: utf-8 -*- import sys import json def print_out(out):
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
<p> 本专刊由牛客官方团队打造,主要讲解名企校招技术岗位的笔试题。 内容中包含多个名企的笔试真题,附有题目思路及参考代码 本专刊购买后即可解锁所有章节,故不可以退换哦~ <
