給出乙個長度為n的陣列arr,和乙個數k,找出陣列中有多少組和小於k的三個數,即arr[a]+arr[b]+arr[c]輸入:6(第一行為乙個整數n,代表輸入陣列的長度)
-2 0 1 2 3 6(第二行為n個整數)
2(第三行為乙個整數k)
輸出:4(乙個整數,表示有多少組滿足條件的三元組)
import sys
num = int(sys.stdin.readline().strip().split()[0])
arr = map(int, sys.stdin.readline().strip().split())
k = int(sys.stdin.readline().strip().split()[0])
sorted(arr)
print arr
count = 0
for index in range(num):
i = index + 1
j = num-1
while i < j:
if (arr[i] + arr[j] < k - arr[index]):
# print i,j,index
count+=1
print i,j,index
j-=1
else:
j -= 1
if i==j:
i+=1
j=num-1
print count
子陣列累加和為aim 小於等於aim 的三個問題
子陣列累加和為aim 小於等於aim 的三個問題 累加和等於aim的最長子陣列的長度 陣列可 0 這道題我另有文章講解了,這裡就不多說了 累加和等於aim的最長子陣列的長度 陣列只有正數 這個和上面唯一的不同就是陣列中只有正數,這裡使用類似視窗移動的做法,給出兩個指標,l,r表示視窗的左右邊界 su...
找出陣列中的三個數和為0 的所有三元組(C 實現)
示例 輸入乙個陣列找出三個數a,b,c滿足a b c 0。輸出 0,1,1 0,2,2 3,1,2 演算法思想 1,先排序 2,在從前往後找,大的左移,小的右移。using system using system.collections.generic using system.linq using...
陣列和廣義表的基本運算實現(三元組)
問題及 檔名稱 6 4.cpp 作 者 單昕昕 完成日期 2016年5月30日 版 本 號 v1.0 問題描述 假設n n的稀疏矩陣a採用三元組表示,設計乙個程式exp6 4.cpp實現如下功能 1 生成如下兩個稀疏矩陣的三元組a和b 2 輸出a轉置矩陣的三元組 3 輸出a b的三元組 4 輸出a ...