欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python算法與數(shù)據(jù)結(jié)構(gòu)朋友圈與水杯實(shí)驗(yàn)題分析實(shí)例

 更新時(shí)間:2022年12月03日 10:21:06   作者:coleak  
這篇文章主要介紹了python算法與數(shù)據(jù)結(jié)構(gòu)朋友圈與水杯實(shí)驗(yàn)題分析,總的來說這并不是難題,那為什么要拿出這道題介紹?拿出這道題真正想要傳達(dá)的是解題的思路,以及不斷優(yōu)化探尋最優(yōu)解的過程。希望通過這道題能給你帶來一種解題優(yōu)化的思路

算法與數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)題-朋友圈

實(shí)驗(yàn)任務(wù)

朋友圈是由若干個(gè)人組成的集體,已知現(xiàn)在有n個(gè)人(1到n),然后給你m個(gè)關(guān)系x y,表示x和y是朋友,假設(shè)朋友的朋友也是朋友,求這n個(gè)人中最大的朋友圈人數(shù)。

數(shù)據(jù)輸入

輸入第一行為一個(gè)正整數(shù)n,m。

接下來有m行,每行有兩個(gè)正整數(shù) x 和 y ,表示 x 和 y 是朋友

60%的數(shù)據(jù) 1<=n,m<=100.

100%的數(shù)據(jù)1<=n<=100000.

數(shù)據(jù)輸出

輸出n個(gè)人中最大的朋友圈人數(shù)。

輸入示例

3 2
1 2
2 3

輸出示例

3

代碼實(shí)現(xiàn)

rel=int (input().split()[1])
my_list=[]
ne=0
while rel:
    rel-=1
    flag=0
    my_set=set()
    my_cont=[int (n) for n in input().split()]
    for n in range(len(my_list)):
        if my_cont[0] in my_list[n]:
            my_list[n].add(my_cont[1])
            flag=1
            ne=n
            continue
        if (my_cont[1] in my_list[n]) and flag==0:
            my_list[n].add(my_cont[0])
            flag = 1
            break
        elif (my_cont[1] in my_list[n]) and flag==1:
            my_list[n]=my_list[n].union(my_list[ne])
            my_list.remove(my_list[ne])
    if flag==0:
        my_set.add(my_cont[0])
        my_set.add(my_cont[1])
        my_list.append(my_set)
ans=0
for n in my_list:
    ans=max(ans,len(n))
print(ans)

tips:union返回一個(gè)新的集合,需要賦值

效果展示

算法與數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)題-水杯

實(shí)驗(yàn)任務(wù)

有n個(gè)水杯疊放在一起

從上到下,編號(hào)由1開始一直到n,容量ai不一定滿足也依次增大的關(guān)系,如果i號(hào)杯子存的水超過了它的容量,則會(huì)像i+1號(hào)水杯流,以此類推

現(xiàn)在給你兩個(gè)操作

操作一: 1 x y 給x號(hào)杯子加y容量的水

操作二: 2 x 查詢x杯子里有多少水。

數(shù)據(jù)輸入

輸入第一行為一個(gè)正整數(shù)n

接下來n個(gè)元素,表示第i個(gè)水杯的容量

接著輸入操作的個(gè)數(shù)q

接下來q行操作。

60%的數(shù)據(jù) 1<=n<=100,1<=q<=100,1<=ai,y<=100.

100%的數(shù)據(jù)1<=n<=100000,1<=q<=100000,1<=ai,y<=1000000000.

數(shù)據(jù)輸出

對(duì)于每個(gè)操作二,輸出對(duì)應(yīng)的值。

輸入示例

2
5 10
6
1 1 4
2 1
1 2 5
1 1 4
2 1
2 2

輸出示例

4
5
8

代碼實(shí)現(xiàn)

def action(x,n):
    while n>0 and x<=num:
        if my_cup[x]>=n:
            my_cup[x]-=n
            n=0
        else:
            n-=my_cup[x]
            my_cup[x] = 0
            x+=1
num=int (input())
my_cup=[int (n) for n in input().split()]
old=my_cup.copy()
act=int (input())
while act:
    act-=1
    cont=[int (n) for n in input().split()]
    if cont[0]==1:
        action(cont[1]-1,cont[2])
    if cont[0]==2:
        print(old[cont[1]-1]-my_cup[cont[1]-1])

注釋:這里的old列表需要用到copy函數(shù)進(jìn)行淺拷貝操作(沒有出現(xiàn)嵌套所以不同考慮深拷貝),若是直接賦值則會(huì)導(dǎo)致my_cup改變時(shí)old也跟著改變。本代碼輸出為實(shí)時(shí)輸出

效果展示

到此這篇關(guān)于python算法與數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)題分析實(shí)例的文章就介紹到這了,更多相關(guān)python算法與數(shù)據(jù)結(jié)構(gòu)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 13個(gè)你可能未使用過的Python特性分享

    13個(gè)你可能未使用過的Python特性分享

    Python?是頂級(jí)編程語言之一,它具有許多程序員從未使用過的許多隱藏功能。在這篇博客中,將和大家分享一下你可能從未使用過的13?個(gè)?Python?特性,感興趣的可以學(xué)習(xí)一下
    2022-11-11
  • pytorch中.to(device) 和.cuda()的區(qū)別說明

    pytorch中.to(device) 和.cuda()的區(qū)別說明

    這篇文章主要介紹了pytorch中.to(device) 和.cuda()的區(qū)別說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • 用Python獲取攝像頭并實(shí)時(shí)控制人臉的實(shí)現(xiàn)示例

    用Python獲取攝像頭并實(shí)時(shí)控制人臉的實(shí)現(xiàn)示例

    這篇文章主要介紹了用Python獲取攝像頭并實(shí)時(shí)控制人臉的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • 詳解js文件通過python訪問數(shù)據(jù)庫方法

    詳解js文件通過python訪問數(shù)據(jù)庫方法

    在本篇內(nèi)容里小編給大家分享了關(guān)于js文件通過python訪問數(shù)據(jù)庫方法和技巧,有需要的朋友們跟著學(xué)習(xí)參考下。
    2019-03-03
  • Python列表創(chuàng)建與銷毀及緩存池機(jī)制

    Python列表創(chuàng)建與銷毀及緩存池機(jī)制

    這篇文章主要介紹了Python列表創(chuàng)建與銷毀及緩存池機(jī)制,文章基于python展開對(duì)列表創(chuàng)建與銷毀內(nèi)容的展開,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-05-05
  • Python利用Diagrams繪制漂亮的系統(tǒng)架構(gòu)圖

    Python利用Diagrams繪制漂亮的系統(tǒng)架構(gòu)圖

    Diagrams  是一個(gè)基于Python繪制云系統(tǒng)架構(gòu)的模塊,它能夠通過非常簡(jiǎn)單的描述就能可視化架構(gòu)。本文將利用它繪制漂亮的系統(tǒng)架構(gòu)圖,感興趣的可以了解一下
    2023-01-01
  • Python打工人必備之windows倒計(jì)時(shí)鎖屏功能的實(shí)現(xiàn)

    Python打工人必備之windows倒計(jì)時(shí)鎖屏功能的實(shí)現(xiàn)

    每個(gè)人的電腦里都會(huì)有不想讓別人知道的隱私,或者是上班時(shí)間偷偷摸魚怕被發(fā)現(xiàn)的小秘密。那怎么辦?就干脆把隱私鎖起來!從源頭上杜絕被他人偷窺自己的隱私。本文就來用Python實(shí)現(xiàn)一個(gè)windows倒計(jì)時(shí)鎖屏功能,需要的可以參考一下
    2023-04-04
  • Python實(shí)現(xiàn) PS 圖像調(diào)整中的亮度調(diào)整

    Python實(shí)現(xiàn) PS 圖像調(diào)整中的亮度調(diào)整

    這篇文章主要介紹了Python實(shí)現(xiàn) PS 圖像調(diào)整中的亮度調(diào)整 ,需要的朋友可以參考下
    2019-06-06
  • python實(shí)現(xiàn)K折交叉驗(yàn)證

    python實(shí)現(xiàn)K折交叉驗(yàn)證

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)K折交叉驗(yàn)證,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • Python hexstring-list-str之間的轉(zhuǎn)換方法

    Python hexstring-list-str之間的轉(zhuǎn)換方法

    今天小編就為大家分享一篇Python hexstring-list-str之間的轉(zhuǎn)換方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06

最新評(píng)論