題目內容:
給定乙個包含若干個整數(可能存在重複整數)的列表,判斷其中是否存在三個元素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系統,有的甚至直接使用虛擬機器。小型企業的伺服器一般資料量不會太多,比如我服務的幾家中小型超市,四年...