#題目:數組中找出兩個元素之和 等於給定的整數 # 思路: # 1、將數組元素排序; # 2、array[i]與a[j](j的取值:i+1到len_array-1) 相加; # 3、如兩兩相加<整數繼續,如=整數則輸出元素值; # 4、如>則直接退出,i+1 開始下一輪相加比較 def addData(array, sumdata): temp_array = array temp_sumdata = sumdata print "sumdata: %d" %temp_sumdata # 如array中沒有負數,則可以先將 >sumdata 的數刪掉 # 為了避免長度變化問題,可將<sumdata的數賦值給另一array # temp_array = [] # len_temp_array2 = len(temp_array2) # for i in range(0,len_temp_array2): # if temp_array2[i] < temp_sumdata: # temp_array.append(temp_array2[i]) sorted(temp_array) len_temp_array = len(temp_array) # 計數符合條件的組數 num = 0 for i in range(0, len_temp_array-1): for j in range(i+1, len_temp_array): if temp_array[i] + temp_array[j] < temp_sumdata: continue elif temp_array[i] + temp_array[j] == temp_sumdata: num += 1 print "Group %d :" % num print "下標:%d, 元素值: %d" %(i, temp_array[i]) print "下標:%d, 元素值: %d" %(j, temp_array[j]) else: break if __name__=="__main__": test_array = [-1,1,2,3,4,5,6,7,8] test_sumdata = 6 addData(test_array, test_sumdata)