萌新参加比赛, 瑟瑟发抖…
题目内容
优快云编程第六期, 一共4道题, 主要设计数组, 集合, 正则表达式的判断.
题目一 在输入数组里面找出指定数组列表的数量
输入: [‘aa’, ‘ak’, ‘m4dr’, ‘skr’, ‘sss’, ‘cdd’, ‘ddd’, ‘skr’, ‘ssrr’]
查询数据:[‘ak’, ‘skr’, ‘m4dr’]
输出: 4
代码
input_list = ['aa', 'ak', 'm4dr', 'skr', 'sss', 'cdd', 'ddd', 'skr', 'ssrr']
target_list = ['ak', 'skr', 'm4dr']
result = 0
for i in input_list:
for j in target_list:
if j == i:
result += 1
print(result )
# 题目二. 在数组里面查找重复个数, 返回最大重复个数
输入: ['red', 'green', 'green', 'bule', 'bule', 'yellow']
输出:2
input_list = ['red', 'green', 'green', 'bule', 'bule', 'yellow']
in_set = set(input_list)
total_dist = {}
for k in in_set:
total_dist[k] = 0
for i in input_list:
for k in in_set:
if i == k:
total_dist[k] = total_dist[k] + 1
result = 0
for k, v in total_dist.items():
if total_dist[k] > result:
result = total_dist[k]
print(result)
题目三. 替换异常邮箱地址的特殊字符, 非开头或者结尾的dot改成., at改成@
输入: at2342sdfsdfatsfewfdotwresfdotat
输出: at2342sdfsdf@sfewf.wresfdotat
“”"
题目三. 替换异常邮箱地址的特殊字符, 非开头或者结尾的dot改成., at改成@
输入: at2342sdfsdfatsfewfdotwresfdotat
输出: at2342sdfsdf@sfewf.wresfdotat
“”"
import re
input_str = 'at2342sdfsdfatsfewfdotwresfdotat'
new_str = input_str
type1 = 0
type2 = 0
type3 = 0
type4 = 0
if input_str[0:2] == 'at' or input_str[0:3] == 'dot':
if input_str[0:2] == 'at':
new_str = input_str[2:]
print('at1', input_str, new_str)
type1 = 1
if input_str[0:3] == 'dot':
new_str = input_str[3:]
print('dot2', input_str, new_str)
type2 = 1
new_str2 = new_str
if new_str[-2:] == 'at' or new_str[-3:] == 'dot':
if new_str[-2:] == 'at':
new_str2 = new_str[2:]
print('at2', input_str, new_str)
type3 = 1
if new_str[-3:] == 'dot':
new_str2 = new_str[3:]
print('dot2', input_str, new_str)
type4 = 1
new_str3 = re.sub('at', '@', new_str2, 1)
new_str3 = re.sub('dot', '.', new_str3, 1)
result = new_str3
if type1 == 1:
result = 'at' + result
if type2 == 1:
result = 'dot' + result
if type3 == 1:
result = result + 'at'
if type4 == 1:
result = result + 'dot'
print('input:', input_str)
print(type1, type2, type3, type4)
print('result:', result)
题目四 统计最大递增区间个数
输入: [5, 2, 3, 8, 1, 9]
输入: 3
"""
题目四 统计最大递增区间个数
输入: [5, 2, 3, 8, 1, 9]
输入: 3
"""
input_list = [5, 2, 2, 3, 8, 1, 9]
result_list = []
for i in range(len(input_list)):
cnt = 1
for j in input_list[i:]:
if input_list[i] < j:
cnt = cnt +1
elif input_list[i] > j:
break
result_list.append(cnt)
print(input_list)
print(result_list)
result = 0
for i in result_list:
if result < i:
result = i
print(result)