当前位置 : 主页 > 编程语言 > java >

【笔试题目】快手2020年秋招笔试题目测试A卷

来源:互联网 收集:自由互联 发布时间:2022-06-30
第一题,回退字符,遇到回退字符,首先回退字符不显示,输入的字符串本身向前隐藏相应回退字符的数量 示例输入1 A为回退字符 A;BCADCAAEEEA 示例输出1 BEEa=raw_input('').split(';') list1=[]

第一题,回退字符,遇到回退字符,首先回退字符不显示,输入的字符串本身向前隐藏相应回退字符的数量

示例输入1

A为回退字符

A;BCADCAAEEEA

示例输出1

BEEa=raw_input('').split(';')

list1=[]
str2=''
for j in a[1]:
if j==a[0] and list1!=[]:
list1.pop()
elif j==a[0] and list1==[]:
pass
else:
list1.append(j)

# print list1
# list2=list1.reverse()
for i in list1:
if i != a[0]:
str2+=i

if list1!=[]:
print str2

第二题

输入字符串,按字母出现的次数,生成字典并进行降序排列

示例输入1

asfsdadssa

示例输出1

s:4,a:3,d:2,f:1

实现代码

str1=raw_input('')

dict1={}
list1=[]
for i in str1:
if i not in dict1.keys():

dict1[i]=1
else:
dict1[i]+=1

# print dict1.iteritems()
dict2 = sorted(dict1.iteritems(), key=lambda d: d[1],reverse = True)

res=''
for x in dict2:
res+=x[0]+':'+str(x[1])+','
print res[:-1]

#refer

第三题

折纸问题,一张A4纸,从左到右折叠1次,会有一条凹进去的折痕,再把折叠之后的纸,从左到右再折叠一次,会有1条凸起的折痕,2条凹进去的折痕

输入示例1,输入需要从左向右折叠的次数

3

输出示例1

up
up
down
down
up
down
down

输入示例2

2

输出示例2

up
down
down

实现代码

def foldPaper(n):
res = []
def midTraversal(n, postion):
if n == 0:
return
midTraversal(n - 1, "left")
if postion == "left":
res.append("down")
else:
res.append("up")
midTraversal(n - 1, "right")
midTraversal(n,"left")
return res

a=raw_input('')
list1=foldPaper(int(a))
list1.reverse()
# print list1
for i in list1:
print i


上一篇:【Go】gin框架--路由参数
下一篇:没有了
网友评论