文章目录
- 前言
- Python代码
- 1、题目名称:严查枪火
- 2、题目名称:鬼画符门
- 3、题目名称:收件邮箱
- 4、题目名称:最长递增的区间长度
- 经验心得
前言
本次比赛比较简单,拼的就是速度了。因为点了开始比赛时,突然感到一阵屎意,导致迟了半个小时才正式开始答题,所以没能取得比较好的名次。题目比较简单,直接用Python一把梭哈。
Python代码
1、题目名称:严查枪火
X国最近开始严管枪火。 像是“ak”,“m4a1”,“skr”。都是明令禁止的。 现在小Q查获了一批违禁物品其中部分是枪支。
小Q想知道自己需要按照私藏枪火来关押多少人。 (只有以上三种枪被视为违法)
输入描述:
第一行输入整数n.(1<=n<=10000)表示携带违禁物品的人数。
以下n行表示违禁物品的名称。
输出描述:
输出需要按照私藏枪火来关押的人。
输入样例:
3
Dsd
ak
232asd
输出样例:
1
class Solution:
def __init__(self) -> None:
pass
def solution(self, n, vector):
result = None
# TODO: 请在此编写代码
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)
2、题目名称:鬼画符门
鬼画符门,每年都会统计自己宗门鬼画符消耗的数量,往年一直是大师兄管理, 但是这次鬼艺接手了, 你能帮鬼艺写一个程序统计每年消耗数量最多的鬼画符吗?
输入描述:
第一行输入整数n.(1<=n<=1000)
以下n行输入n个字符串。
输出描述:
输出答案字符串。
输入样例:
5
red
red
green
grenn
hen
输出样例:
red
class Solution:
def __init__(self) -> None:
pass
def solution(self, n, vector):
result = None
# TODO: 请在此编写代码
dict={}
for i in vector:
if i not in dict:
dict[i]=1
else:
dict[i]+=1
t=max(dict.values())
for k,v in dict.items():
if v==t:
result=k
break
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)
3、题目名称:收件邮箱
已知字符串str,str表示邮箱的不标准格式。
其中”.”会被记录成”dot”,”@”记录成”at”。
写一个程序将str转化成可用的邮箱格式。(可用格式中字符串中除了开头结尾所有”dot”,都会被转换,”at”只会被转化一次,开头结尾的不转化)
输入描述:
输入字符串str.(1<=strlen(str)<=1000)
输出描述:
输出转化后的格式。
输入样例:
mxyatoxcoderdotcom
输出样例:
mxy@oxcoder.com
class Solution:
def __init__(self) -> None:
pass
def solution(self, str):
result = None
# TODO: 请在此编写代码
result=str.replace('dot','.')
result=result.replace('at','@',1)
if result[0]==".":
result="dot"+result[1:]
if result[0]=="@":
result="at"+result[1:]
if result[-1]==".":
result=result[:-1]+"dot"
if result[-1]=="@":
result=result[:-1]+"at"
return result
if __name__ == "__main__":
str = input().strip()
s = Solution()
result = s.solution(str)
print(result)
4、题目名称:最长递增的区间长度
给一个无序数组,求最长递增的区间长度。如:[5,2,3,8,1,9] 最长区间 2,3,8 长度为 3
输入描述:
第一行输入整数n。(1<=n<=10000)表示数组的大小
第二行给出n个整数a.(-1e9<=a<=1e9)
输入样例:
6
5 2 3 8 1 9
输出样例:
3
class Solution:
def __init__(self) -> None:
pass
def solution(self, n, arr):
result = None
# TODO: 请在此编写代码
result=0
t=1
arr.append(-1e9-1)
for i in range(n):
if arr[i+1]>arr[i]:
t+=1
else:
result=max(result,t)
t=1
return result
if __name__ == "__main__":
n = int(input().strip())
arr = [int(item) for item in input().strip().split()]
s = Solution()
result = s.solution(n, arr)
print(result)
经验心得
不得不说,Python比Java简洁多了,灵活运用Python的库函数,可以很方便的解题。