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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

【CSDN编程竞赛第六期】python详解

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

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

目錄

目錄

前言/背景

解題思路

1.嚴查槍火

2.鬼畫符門

3.收件郵箱

4.最長遞增的區(qū)間長度

結語


前言/背景

這是我個人參加的第三次CSDN競賽了。

第一次是第四期,寫出來前兩到簡單的題,題目有梯度

第二次是第五期,對我這個新人來說太難了,只能拿一點分,一道題都不能完全寫出來。題目對于新手來說太難了

第三次這次,題目又太簡單了,所有能完成全部題目。都是比較簡單的題目,主要是考驗速度。

也沒什么好多說的,直接上代碼

解題思路

1.嚴查槍火

1、題目名稱:嚴查槍火 X國最近開始嚴管槍火。 像是“ak”,“m4a1”,“skr”。都是明令禁止的。 現(xiàn)在小Q查獲了一批違禁物品其中部分是槍支。 小Q想知道自己需要按照私藏槍火來關押多少人。 (只有以上三種槍被視為違法) 輸入描述: 第一行輸入整數(shù)n.(1<=n<=10000)表示攜帶違禁物品的人數(shù)。 以下n行表示違禁物品的名稱。 輸出描述: 輸出需要按照私藏槍火來關押的人。 輸入樣例: 3 Dsd ak 232asd 輸出樣例: 1

這個不多說了,代碼:

class Solution:def __init__(self) -> None:passdef solution(self, n, vector):result = None# TODO: 請在此編寫代碼num=0for i in range(0,n):if vector[i]=='ak' or vector[i]=='m4a1' or vector[i]=='skr':num+=1result=numreturn 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、題目名稱:鬼畫符門 鬼畫符門,每年都會統(tǒng)計自己宗門鬼畫符消耗的數(shù)量,往年一直是大師兄管理, 但是這次鬼藝接手了, 你能幫鬼藝寫一個程序統(tǒng)計每年消耗數(shù)量最多的鬼畫符嗎? 輸入描述: 第一行輸入整數(shù)n.(1<=n<=1000) 以下n行輸入n個字符串。 輸出描述: 輸出答案字符串。 輸入樣例: 5 red red green grenn hen 輸出樣例: red

利用字典的鍵和值,來將符和消耗量對應起來,代碼:

class Solution:def __init__(self) -> None:passdef solution(self, n, vector):result = None# TODO: 請在此編寫代碼ans={}for i in vector:if i in ans:ans[i] = ans[i] + 1else:ans[i] = 1max = 0for key in ans.keys():if ans[key] > max:max = ans[key]ans_s = keyresult = ans_sreturn 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:passdef 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+endans_2=ans_2[::-1]ans_2=ans_2+beginans_2=ans_2[::-1]result=ans_2return result if __name__ == "__main__":str = input().strip()s = Solution()result = s.solution(str)print(result)

4.最長遞增的區(qū)間長度

4、題目名稱:最長遞增的區(qū)間長度 給一個無序數(shù)組,求最長遞增的區(qū)間長度。 輸入描述: 第一行輸入整數(shù)n。 第二行輸入n個整數(shù)。 輸出描述: 輸出最長遞增的區(qū)間長度。 輸入樣例: 6 5,2,3,8,1,9 輸出樣例: 3

不需多說,代碼:

class Solution:def __init__(self) -> None:passdef solution(self, n, arr):result = None# TODO: 請在此編寫代碼crr=arr[0]max=1max_crr=1for i in arr:if i>crr:max_crr+=1else:max_crr=1if max_crr>max:max=max_crrcrr=iresult=maxreturn 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)

結語

有什么更好的改進或者解題思路,歡迎大家評論留言指正,分享,互相學習,共同進步。

總結

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

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