记录下最近面试的算法题
题目记得不是特别清楚了,大致描述。
一 2021.04.17荣耀机试
1 数组排序
题目描述:输入多个数字,按数字从小到大排序。
输入描述
多个整数,保证都在int范围内,用空格隔开
输出描述
从小到大的值,用空格隔开,最后一个数字后不加空格
输入样例
15 2 4 8 7 9 3
输出样例
2 3 4 7 8 9 15
2 蛇形字符串
题目描述:
输入一个字符串(不含空格), 请寻找输入中包含所有蛇形字符串。
蛇形字符串定义:
1.蛇形字符串由连续字符对组成,其特点如下:
1.1 字符对定义:字符对由同一字母的大写和小写组成(前大后小)。如:Aa,Dd;
1.2 蛇形字符串中包含的字符对,必须是连续字母,并按照字母顺序排序。如:AaBbCc或OoPpQqRrSs;
2.从输入中寻找字符组成蛇形字符串(字符顺序不限),符合规则:
2.1 每次寻找必须是最长的蛇形字符串;
2.2 使用过的字符不能重复使用;
例: 输入SxxsrR^AaSs
正确处理过程:
Step1:SxxsrR^AaSs -> RrSs (找到两对连续字符对:Ss、Rr,可以组成蛇形字符串。另,Ss后应该是Tt,但当前字符串SxxsrR^AaSs中不包含,所以当前蛇形字符串到Ss结束。本轮查找结果是RrSs。)
Step2:xs^AaSs -> Aa
Step3:xx^Ss -> Ss
output:RrSs
Aa
Ss
输入描述:
一个字符串(不含空格,字符串长度<=5000)
输出描述:
所有包含的蛇形字符串,按蛇形字符串长短输出;同一个首字母的情况,按首字母升序排列(即A在Z前);如果没有找到,输出Not Found。
示例1:
输入:
``SwSE$3454356DD$$E#eswsxxsssAAWDxxdderfvcRFER65645hbg^^%%^UnbnvccTRChnyvcxcvVCFR
输出:
CcDdEeFf
CcDdEe
RrSs
VvWw
Ss
二 21.05.07荣耀机试
1.shell变量
Linux shell脚本中${xxx}代表变量xxx的值,给定一个字符串中存在一个或多个${xxx},需要将字符串中所有的${xxx}替换成实际值.
示例:
输入:
4
xxx=lyf/${ttt}/test
ttt=www
yyy=seeyou
aa=/aaa/${xxx}/bbb/${yyy}/ccc
说明:第一行4为输入总行数,其余为输入字符串,
输出:
/aaa/lyf/www/test/bbb/seeyou/ccc
说明:将最后一行等号右边的实际值输出
2.字符串排序
题目描述
给定n个字符串,请对n个字符串按照字典序排列。
输入描述:
输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母。
输出描述:
数据输出n行,输出结果为按照字典序排列的字符串。
输入
#输入
9
cap
to
cat
card
two
too
up
boat
boot
输出
#输出
boat
boot
cap
card
cat
to
too
two
up
高级运维工程师在线评测:http://www.gtalent.cn/exam/interview/nsYteJ5wFfWkMdb2
运维工程师QQ在线交流群:580175957