日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CSDN 第六期编程竞赛做题记录

發(fā)布時間:2024/3/13 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CSDN 第六期编程竞赛做题记录 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

CSDN 第六期編程競賽做題記錄

——

CSDN編程競賽報名地址:https://edu.csdn.net/contest/detail/16

9.18周日閑來無視寫一下 csdn 的編程題,每期編程題有 4 題,這期的相對比較簡單,我這樣的水平都能寫。
我這里是用 python3 寫的,其它的語言俺也不太會。

——

一、嚴查槍火

題目描述:

X國最近開始嚴管槍火。 像是“ak”,“m4a1”,“skr”。都是明令禁止的。 現(xiàn)在小Q查獲了一批違禁物品其中部分是槍支。
小Q想知道自己需要按照私藏槍火來關押多少人。 (只有以上三種槍被視為違法)

解題代碼:

輸入關押人數(shù)n和每個人私藏的物品名稱
輸出需要關押私藏槍火的人數(shù)
對每個輸入的物品名稱進行判定,如果符合禁止的字符串,數(shù)量+1

class Solution:def __init__(self) -> None:passdef solution(self, n, vector):result = None# TODO: 請在此編寫代碼num=0a=['ak','m4a1','skr']for i in vector:if i in a:num+=1result=numreturn resultif __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)

——

二、鬼畫符門

題目描述:

鬼畫符門,每年都會統(tǒng)計自己宗門鬼畫符消耗的數(shù)量,往年一直是大師兄管理,但是這次鬼藝接手了,你能幫鬼藝寫一個
程序統(tǒng)計每年消耗數(shù)量最多的鬼畫符嗎?

解題代碼:

輸入消耗鬼畫符的數(shù)量以及每個鬼畫符名稱
輸出消耗數(shù)量最多的鬼畫符
輸入每一個消耗的鬼符作為一個列表,然后對每一種用 count() 函數(shù)計數(shù),統(tǒng)計為字典,然后對字典進行排序,打印出數(shù)量最多的那種鬼符即可。

class Solution:def __init__(self) -> None:passdef solution(self, n, vector):result = Nonedic={}for i in vector:dic[i]=vector.count(i)#print(dic)a=sorted(dic.items(),key=lambda item:item[1],reverse=True)#print(a)result=a[0][0]return resultif __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)

——

三、收件郵箱

題目描述:

已知字符串str,str表示郵箱的不標準格式。其中”.”會被記錄成”dot”,”@”記錄成”at”。寫一個程序將str轉化成可用
的郵箱格式。(可用格式中字符串中除了開頭結尾所有”dot”,都會被轉換,”at”只會被轉化一次,開頭結尾的不轉化)

解題代碼:

輸入郵箱作為字符串
輸出轉換后的郵箱
主要問題在于開頭結尾的不能被替換,不然可以直接一行代碼 replace() 函數(shù)全部替換即可。
我這里把郵箱作為字符串,把開頭結尾存在的 dot 和 at 先全部替換為臨時字符串,再進行replace() 全部替換,替換完之后,再把開頭結尾的臨時字符串替換回 dot 和 at 。

class Solution:def __init__(self) -> None:passdef solution(self, str):result = None# TODO: 請在此編寫代碼if str[0:3]=='dot':str='tmp1'+str[3:]if str[-3:]=='dot':str=str[:-3]+'tmp1's1 = str.replace('dot','.')s1 = s1.replace('tmp1','dot')if s1[0:2]=='at':s1='tmp2'+s1[2:]if s1[-2:]=='at':s1=s1[:-2]+'tmp2's2 = s1.replace('at','@',1)s2 = s2.replace('tmp2','at')result=s2return resultif __name__ == "__main__":str = input().strip()s = Solution()result = s.solution(str)print(result)

——

四、最長遞增的區(qū)間長度

題目描述:

給一個無序數(shù)組,求最長遞增的區(qū)間長度。如:[5,2,3,8,1,9]最長區(qū)間2,3,8長度為3

解題代碼:

輸入無序數(shù)組作為列表
輸出列表中最長遞增區(qū)間長度

class Solution:def __init__(self) -> None:passdef solution(self, n, arr):result = None# TODO: 請在此編寫代碼t=1ans=0for i in range(len(arr)-1):if arr[i]<arr[i+1]:t+=1else:ans=max(ans,t)t=1ans=max(ans,t)result=ansreturn resultif __name__ == "__main__":n = int(input().strip())arr = [int(item) for item in input().strip().split()]s = Solution()result = s.solution(n, arr)print(result)

總結

以上是生活随笔為你收集整理的CSDN 第六期编程竞赛做题记录的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。