python 實戰39 0的組合

2021-09-10 15:14:15 字數 1114 閱讀 9071

題目內容:

給定乙個包含若干個整數(可能存在重複整數)的列表,判斷其中是否存在三個元素a,b,c,使得a+b+c=0?找出所有滿足條件且不重複的這樣的三個數的組合。

輸入格式:

共一行,列表中元素以空格隔開。

輸出格式:

共一行,為不重複組合的個數,不存在這樣的組合就輸出0

輸入樣例:

-1 0 1 2 -1

輸出樣例:

(注:兩個組合是-1,-1,2和-1,0,1)

my answer

思路:為了避免重複,我把列表進行了排序,並用集合來裝符合條件的元素。

n =

list

(map

(int

,input()

.split())

)n.sort(

)s =

set(

)for i in

range

(len

(n)-2)

:for j in

range

(i +1,

len(n)-1

):for k in

range

(j +1,

len(n)):

if n[i]

+ n[j]

+ n[k]==0

: s.add(

(n[i]

, n[j]

, n[k]))

print

(len

(s))

我們要更進一步python化,去掉幾行

n =

sorted

(list

(map

(int

,input()

.split())

))s =if

len(s)==0

:print(0

)else

:print

(len

(s))

390 消除遊戲(python

題目 給定乙個從1 到 n 排序的整數列表。首先,從左到右,從第乙個數字開始,每隔乙個數字進行刪除,直到列表的末尾。第二步,在剩下的數字中,從右到左,從倒數第乙個數字開始,每隔乙個數字進行刪除,直到列表開頭。我們不斷重複這兩步,從左到右和從右到左交替進行,直到只剩下乙個數字。返回長度為 n 的列表中...

組合模式 寄生組合繼承實戰新聞列表

所謂組合模式,就是把一堆結構分解出來,組成在一起,現實中很多這樣的例子,如 1 肯德基 就是一種組合模式,比如雞腿堡 一般是是由乙個雞腿堡,一包薯條,一杯可樂等組成的 2 組裝的台式電腦同理,由主機板,電源,記憶體條,顯示卡,機箱,顯示器,外設等組成的 把乙個成型的產品組成部件,分成乙個個獨立的部件...

小企業RIAD LVM實戰組合

為了保障企業資料長期運維,使用的伺服器基本是帶有陣列磁碟卡,但這樣的伺服器一般不會太便宜,所以對於哪些沒有能力的創業小企業,他們往往採用的方案是使用普通家用機,安裝centos作業系統或者ubuntu系統,有的甚至直接使用虛擬機器。小型企業的伺服器一般資料量不會太多,比如我服務的幾家中小型超市,四年...