优快云编程竞赛

萌新参加比赛, 瑟瑟发抖…
在这里插入图片描述

题目内容

优快云编程第六期, 一共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)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值