目录
目录
前言/背景
解题思路
1.严查枪火
2.鬼画符门
3.收件邮箱
4.最长递增的区间长度
结语
前言/背景
第一次是第四期,写出来前两到简单的题,题目有梯度
第二次是第五期,对我这个新人来说太难了,只能拿一点分,一道题都不能完全写出来。题目对于新手来说太难了
第三次这次,题目又太简单了,所有能完成全部题目。都是比较简单的题目,主要是考验速度。
也没什么好多说的,直接上代码
解题思路
1.严查枪火
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: 请在此编写代码
num=0
for i in range(0,n):
if vector[i]=='ak' or vector[i]=='m4a1' or vector[i]=='skr':
num+=1
result=num
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.鬼画符门
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: 请在此编写代码
ans={}
for i in vector:
if i in ans:
ans[i] = ans[i] + 1
else:
ans[i] = 1
max = 0
for key in ans.keys():
if ans[key] > max:
max = ans[key]
ans_s = key
result = ans_s
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.收件邮箱
3、题目名称:收件邮箱
已知字符串str,str表示邮箱的不标准格式。 其中”.”会被记录成”dot”,”@”记录成”at”。
写一个程序将str转化成可用的邮箱格式。(可用格式中字符串中除了开头结尾所有”dot”,都会被转换,”at”只会被转化一次,开头结尾的不转化)
输入样例:dotadwatdfatdotcom
输出样例:dotadw@dfat.com
开头结尾不转换,可以先把第一个和最后一个字母去掉,再处理,代码:
class Solution:
def __init__(self) -> None:
pass
def solution(self, str):
result = None
# TODO: 请在此编写代码
begin=str[0]
str_1=str[1:]
str_1=str_1[::-1]
end=str_1[0]
str_1=str_1[1:]
str_1=str_1[::-1]
ans_1=str_1.replace('at','@',1)
ans_2=ans_1.replace('dot','.')
ans_2=ans_2+end
ans_2=ans_2[::-1]
ans_2=ans_2+begin
ans_2=ans_2[::-1]
result=ans_2
return result
if __name__ == "__main__":
str = input().strip()
s = Solution()
result = s.solution(str)
print(result)
4.最长递增的区间长度
4、题目名称:最长递增的区间长度
给一个无序数组,求最长递增的区间长度。
输入描述:
第一行输入整数n。
第二行输入n个整数。
输出描述:
输出最长递增的区间长度。
输入样例:
6
5,2,3,8,1,9
输出样例:
3
不需多说,代码:
class Solution:
def __init__(self) -> None:
pass
def solution(self, n, arr):
result = None
# TODO: 请在此编写代码
crr=arr[0]
max=1
max_crr=1
for i in arr:
if i>crr:
max_crr+=1
else:
max_crr=1
if max_crr>max:
max=max_crr
crr=i
result=max
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)
结语
有什么更好的改进或者解题思路,欢迎大家评论留言指正,分享,互相学习,共同进步。