CSDN编程竞赛报名地址:https://edu.csdn.net/contest/detail/16
第一次参加这个竞赛,记录一下比赛题解,希望和你一起进步
X国最近开始严管枪火。 像是“ak”,“m4a1”,“skr”。都是明令禁止的。 现在小Q查获了一批违禁物品其中部分是枪支。 小Q想知道自己需要按照私藏枪火来关押多少人。 (只有以上三种枪被视为违法)
第一行给定一个数字n
接下来n行每行一个字符串
这道题我一开始以为是从给定的字符串中筛选违禁字符,后来发现只要判断给定的字符是不是违禁字符就可以了。
- def solution(self, n, vector):
- result = None
- # TODO: 请在此编写代码
- cnt=0
- for i in vector:
- # print(i)
- # print(i.find("s"))
- if i=='ak' or i=='m4a1' or i=='skr' :
- cnt += 1
- result=cnt
- return result
鬼画符门,每年都会统计自己宗门鬼画符消耗的数量,往年一直是大师兄管理, 但是这次鬼艺接手了, 你能帮鬼艺写一个 程序统计每年消耗数量最多的鬼画符吗?
第一行给定一个数字n
接下来n行每行一个字符串
这道题只要输出出现次数最多的那个字符串就可以了
- def solution(self, n, vector):
- result = None
- # TODO: 请在此编写代码
-
- ans=[]
- for i in vector:
- ans.append(vector.count(i))
- result=vector[ans.index(max(ans))]
-
- return result
已知字符串str,str表示邮箱的不标准格式。 其中”.”会被记录成”dot”,”@”记录成”at”。 写一个程序将str转化成可用 的邮箱格式。(可用格式中字符串中除了开头结尾所有”dot”,都会被转换,”at”只会被转化一次,开头结尾的不转化)
做一些逻辑判断即可
- string = "atmxyatoxcoderdotcom"
-
- string = string.replace('dot','.')
- flag=0
- if string[0:2]=='at' :
- string=string[2:len(string)].replace('at','@')
- string='at'+string
- flag=1
- if string[-2:]=='at':
- string = string[0:len(string)-2].replace('at', '@')
- string = string + 'at'
- flag = 1
-
- if flag:
- string = string[2:len(string)-2].replace('at','@')
- string = 'at' + string + 'at'
-
- print(string)
最长递增的区间长度 给一个无序数组,求最长递增的区间长度。如:[5,2,3,8,1,9] 最长区间 2,3,8 长度为 3
- def findLengthOfLCIS(self, nums):
- n = len(nums)
- start = 0
- ans = 0
-
- for i in range(n):
- if i > 0 and nums[i] <= nums[i - 1]:
- start = i
-
- ans = max(ans, i - start + 1)
-
- print(ans)
- findLengthOfLCIS(nums)