CSDN编程竞赛报名地址:https://edu.csdn.net/contest/detail/16
大赛简介
CSDN周赛为鼓励各位开发者积极参与开发相关的技能评测,帮助开发者在练习与学习的过程中取长补短,提升个人专项能力。 本大赛面向所有开发同学,报名参与即可来挑战,并有CSDN周边精美礼品及荣誉激励。
本期已经是CSDN编程竞赛的第六期,题目难度较上期有所下降,并且都是学习板块里面的练习题。虽然说考察的都是比较基础的知识,数组遍历、字符串处理等等,但是实现起来还是会发现自个有些是还不熟悉。
参赛流程
可通过CSDN社区平台主页面导航栏“学习->比赛”进入比赛详情页;
进而进行竞赛规则详情的了解以及参赛报名。
赛题分析
赛题一:严查枪火 。X国最近开始严管枪火。 像是“ak”,“m4a1”,“skr”。都是明令禁止的。 现在小Q查获了一批违禁物品其中部分是枪支。 小Q想知道自己需要按照私藏枪火来关押多少人。 (只有以上三种枪被视为违法)
本赛题考察数组遍历与数值统计
class Solution:
def __init__(self) -> None:
pass
def solution(self, n, vector):
result = 0
for i in range(n):
if vector[i]=='ak' or vector[i]=='m4a1' or vector[i]=='skr':
result += 1
return result
if __name__ == "__main__":
n = int(input().strip())
vector = []
for i in range(n):
vector.append(input().strip())
s = Solution()
result = s.solution(n, vector)
print(result)
赛题二:鬼画符门。鬼画符门,每年都会统计自己宗门鬼画符消耗的数量,往年一直是大师兄管理, 但是这次鬼艺接手了, 你能帮鬼艺写一个 程序统计每年消耗数量最多的鬼画符吗?
class Solution:
def __init__(self) -> None:
pass
def solution(self, n, vector):
result = None
dicts = {}
for i in range(n):
if vector[i] in dicts:
dicts[vector[i]] += 1
else :
dicts[vector[i]] = 1
remax = max(zip(dicts.values(),dicts.keys()))
result = remax[1]
return result
if __name__ == "__main__":
n = int(input().strip())
vector = []
for i in range(n):
vector.append(input().strip())
s = Solution()
result = s.solution(n, vector)
print(result)
赛题三:收件邮箱。已知字符串str,str表示邮箱的不标准格式。其中”.”会被记录成”dot”,”@”记录成”at”。写一个程序将str转化成可用的邮箱格式。(可用格式中字符串中除了开头结尾所有”dot”,都会被转换,”at”只会被转化一次,开头结尾的不转化)
赛题四:最长递增的区间长度。给一个无序数组,求最长递增的区间长度。如:[5,2,3,8,1,9]最长区间2,3,8长度为3
经验心得
像本次竞赛更多是我们对于编程基础知识的一个巩固,大家可以在今后多多参加此系列的编程竞赛
就到这儿嘞