CSDN编程竞赛报名地址:https://edu.csdn.net/contest/detail/16
之前经常在leetcode上刷编程题,水平的话,周赛4道题,在1.5h时间里基本可以完成3道。困难类型的题目刷的很少,计划先把简单和中等的慢慢刷完,总结一些经验,再冲刺难度高的题目吧。
csdn的编程竞赛是第一次参加,4道题目,个人感觉偏容易,但是如果能在都完成的情况下,和小伙伴们比比速度,也还是有点挑战的。
把这次的4道题目描述贴出来了,大家有兴趣可以看看难易程度。
1、题目名称:严查枪火 X国最近开始严管枪火。 像是“ak”,“m4a1”,“skr”。都是明令禁止的。 现在小Q查获了一批违禁物品其中部分是枪支。 小Q想知道自己需要按照私藏枪火来关押多少人。 (只有以上三种枪被视为违法)
解题思路:输入是一个vector, 里面存放违禁物品的字符。遍历vector的所有字符, 统计 “ak”,“m4a1”,“skr”出现的次数,即为答案,时间复杂度O(n)。
2、题目名称:鬼画符门 鬼画符门,每年都会统计自己宗门鬼画符消耗的数量,往年一直是大师兄管理, 但是这次鬼艺接手了, 你能帮鬼艺写一个 程序统计每年消耗数量最多的鬼画符吗?
解题思路:感觉和题目1有些类似,输入是一个vector,里面是表示鬼画符的字符串,会有重复。就是统计出现次数最多的那个鬼画符,返回即可。时间复杂度O(n)。
3、题目名称:收件邮箱 已知字符串str,str表示邮箱的不标准格式。 其中”.”会被记录成”dot”,”@”记录成”at”。 写一个程序将str转化成可用 的邮箱格式。(可用格式中字符串中除了开头结尾所有”dot”,都会被转换,”at”只会被转化一次,开头结尾的不转化)
解题思路:
4、题目名称:最长递增的区间长度 给一个无序数组,求最长递增的区间长度。如:[5,2,3,8,1,9] 最长区间 2,3,8 长度为 3。
解题思路:
这次的4道题目都完成了,花了大概1h。有2道题目马虎,导致没有第一次提交就通过,另外,中间去做了个核酸,如果以后再细心一些,实际花费时间上应该能缩短一半吧。
对竞赛平台的体验就是,答题中好像不能看到几道题的进度情况,比如中间有道题暂时跳过,等其它题目都完成了再研究时候,有点恍惚是第2,还是第3题是做了一半的。也或许可以,只是我对还平台不熟悉吧。参赛完,看到还能下载考试报告,这点感觉做的还挺不错的。
下面截图是考试报告提供的这次4道题目,提交人数和平均分。有点不太清楚平均分是怎么评判的?可能是代码的运行时间或者内存占用综合评估的分数吧。另外每道题目的这个编程总结是分开的,如果能把4道题放在一起就更好了。综合来看,我的编程还有提升空间。