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

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

示例输入1

A为回退字符

A;BCADCAAEEEA

示例输出1

BEE

a=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
#https://blog.csdn.net/helloxiaozhe/article/details/76726496

第三题

折纸问题,一张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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bug 挖掘机

支持洋子

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值