1.严查枪火
最近开始严管枪火。 像是“ak”,“m4a1”,“skr”。都是明令禁止的。 现在小Q查获了一批违禁物品其中部分是枪支。
小Q想知道自己需要按照私藏枪火来关押多少人。 (只有以上三种枪被视为违法)
class Solution: def __init__(self) -> None: pass def solution(self, n, vector): result = 0 # TODO: 请在此编写代码 for i in range(n): if vector[i] in ['ak', 'm4a1', 'skr']: result=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)
这是第一题,没啥说的,python 嘛,轮子都有了,直接写就好了。
2.鬼画符门
鬼画符门,每年都会统计自己宗门鬼画符消耗的数量,往年一直是大师兄管理, 但是这次鬼艺接手了, 你能帮鬼艺写一个
程序统计每年消耗数量最多的鬼画符吗?
class Solution: def __init__(self) -> None: pass def solution(self, n, vector): result = "" result_list={} for item in vector: if item not in result_list: result_list[item]=1 else: result_list[item]=result_list[item]+1 # TODO: 请在此编写代码 for key , value in result_list.items(): if value==max(result_list.values()): result=key 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)
这个题目就是考了python的map使用:
- 首先建立map,有的放进去,并+1;
- 获取map中value最大的,然后返回key。
3.收件邮箱
已知字符串str,str表示邮箱的不标准格式。 其中”.”会被记录成”dot”,”@”记录成”at”。 写一个程序将str转化成可用
的邮箱格式。(可用格式中字符串中除了开头结尾所有”dot”,都会被转换,”at”只会被转化一次,开头结尾的不转化)
class Solution: def __init__(self) -> None: pass def solution(self, strabc): # result = None # TODO: 请在此编写代码 result=strabc[1:-1].replace('dot','.').replace('at','@',1) result=strabc[0]+result+strabc[-1] return result if __name__ == "__main__": strabc = input().strip() s = Solution() result = s.solution(strabc) print(result)
这个题目我有点取巧,直接用的replace函数解决掉的,属于有手就可以写的。
4.最长递增的区间长度
给一个无序数组,求最长递增的区间长度。如:[5,2,3,8,1,9] 最长区间 2,3,8 长度为 3
class Solution: def __init__(self) -> None: pass def solution(self, n, arr): result = 1 t=1 for i in range(len(arr)-1): if arr[i]<arr[i+1]: t+=1 else: result=max(result,t) t=1 result=max(result, t) 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)
该题目耗费我时间比较多,开始写的一致是90%通过,有10%通不过,后来整体上换了,解决的。