包头怎样做网站,设计类专业就业前景怎么样,wordpress 游客,随申办app下载1. 字符串统计
题目描述#xff1a;
给定两个字符集合#xff0c;一个为全量字符集#xff0c;一个为已占用字符集。
已占用的字符集中的字符不能再使用#xff0c;要求输出剩余可用字符集。
输入描述#xff1a;
1、输入为一个字符串#xff0c;一定包含符号。前的为全…1. 字符串统计
题目描述
给定两个字符集合一个为全量字符集一个为已占用字符集。
已占用的字符集中的字符不能再使用要求输出剩余可用字符集。
输入描述
1、输入为一个字符串一定包含符号。前的为全量字符集后的字为已占用字符集。2、已占用字符集中的字符一定是全量字符集中的字符。字符集中的字符跟字符之间使用英文逗号分隔。3、每个字符都表示为字符加数字的形式用英文冒号分隔比如a:1表示1个a字符。4、字符只考虑英文字母区分大小写数字只考虑正整形数量不超过100。 5、如果一个字符都没被占用标识仍然存在例如a:3,b:5,c:2输出描述输出可用字符集不同的输出字符集之间回车换行。示例1输入a:3,b:5,c:2a:1,b:2输出a:2,b:3,c:2说明全量字符集为3个a5个b2个c。已占用字符集为1个a2个b。 由于已占用字符不能再使用因此剩余可用字符为2个a3个b2个c。因此输出a:2,b:3,c:2示例代码
#测试数据
test_data a:3,b:5,c:2a:1,b:2
# 拆分数据
a1,a2 test_data.split()
a1_dict { ele.split(:)[0]:ele.split(:)[1] for ele in a1.split(,)}
a2_dict { ele.split(:)[0]:ele.split(:)[1] for ele in a1.split(,) }for k,v in a2_dict.items():a1_dict[k] str(int(a1_dict[k]) - int(a2_dict[k]))result []
for k,v in a1_dict.items():result.append({}:{}.format(k,v))
print(,.join(result))2. 计算误码率
题目描述
误码率是最常用的数据通信传输质量指标。它可以理解为“在多少位数
据中出现一位差错”。
移动通信网络中的误码率主要是指比特误码率其计算公式如下比
特误码率错误比特数/传输总比特数
为了简单我们使用字符串来标识通信的信息一个字符错误了就
认为出现了一个误码输入一个标准的字符串和一个传输后的字符
串计算误码率
字符串会被压缩
例如“2A3B4D5X1Z” 表示 “AABBBDDDDXXXXXZ
用例会保证两个输入字符串解压后长度一致解压前的长度不一定一
致。
每个生成后的字符串长度100000000。
输入描述
两行分别为两种字符串的压缩形式。 每行字符串压缩后的长度
100000
输出描述
一行错误的字符数量 / 展开后的总长度
示例1
输入3A3B2A4B
输出1/6示例代码
# 测试数据
test_data1 4Y5Z
test_data2 9Y
# 将码展开
def fun1(s):res start 0end 0while start len(s) - 1 and end len(s) - 1:if s[end].isdigit():end 1else:res res (int(s[start:end]) * s[end])end 1start endreturn res
# 计算错码率
def fun(s1,s2)ss1 fun1(s1)ss2 fun1(s2)# 统计错误的个数count 0for a,b in zip(ss1,ss2):if a ! b:count 1return {}/{}.format(str(count),str(len(ss1)))res fun(test_data1,test_data2)
print(res)3.计算最大乘积
题目描述
给定一个元素类型为小写字符串的数组请计算两个没有相同字符的
元素 长度乘积的最大值如果没有符合条件的两个元素返回0。
输入描述
输入为一个半角逗号分隔的小写字符串的数组2 数组长度
1000 字符串长度 50。
输出描述
两个没有相同字符的元素 长度乘积的最大值。
示例1
输入 iwdvpbn,hk,iuop,iikd,kadgpf
输出14示例代码
# 测试数据
test_data iwdvpbn,hk,iuop,iikd,kadgpf
s_list test_data.split(,)def fun(s1,s2)# 计算两个字符串长度的乘积s1_set set(s1)s2_set set(s2)s s1_set - s2_setif len(s) len(s1_set):return len(s1) * len(s2)else:return -1def fun1(s_list):result []# 计算最大长度start 0while start len(s_list) - 2:end start 1while end len(s_list) - 1:res fun(s_list[start],s_list[end])if res ! -1:result.append(res)end 1start 1return max(result)r fun1(s_list)
print(r)