笔试题:给定m个字符串,请计算有哪些字符在所有字符串中都出现过n次及以上

描述:给定m个字符串,请计算有哪些字符在所有字符串中都出现过n次及以上
要求:时间---1000ms 内存----256MB
输入:1.首行是整数n,取值范围[1,100]
     2.第二行是整数m,表示字符串的个数,取值范围[1,100]
     3.接下来m行,每行一个仅由英文字符和数字组成的字符串,长度为[1,1000]
输出:按照ASCII码升序输出所有符合要求的字符序列;如果没有符合要求的字符,则输出空序列[]
n = int(input("请输入重复次数(1~100):"))
m = int(input("请输入你需要输入的字符串数(1~100):"))
list1=[]
list2=[]
# 使用for按照字符串数输入内容,把对应字符串,储存在列表list1中
for i in range(m):
    list1.append(input())

# 对列表中字符串中字符进行处理,把重复数大于n的放置于list2中
for i in list1:
    list3 = []
    for j in list(set(i)):
        if i.count(j) >= n:
            list3.append(j)
    list2.append(list3)

# 找出共有字符,并按照ASCII进行排序
list4 = []
for i in list2[0]:
    num = 1
    while num < m:
        if i in list2[num]:
            num += 1
        else:
            break
    if num == m:
        list4.append(i)
print(sorted(list4))

# aabbccFFFx2x2
# aaccddFFFx2x2
# aabcdFFFx2x2
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值