求兩數之和
阿新 • • 發佈:2018-11-10
題目:任意給出一個數字和陣列,要求在陣列中找出相加等於
這個數字的兩個元素,要求不能重複利用一個數組元素
python解答:
def consequence(TarVa, Values): ValidValues = [] i = 0 # 用於存放陣列中有效元素的元祖 while i == 0: x = Values[0] y = TarVa - x if y == 0: ValidValues.append((x,)) Values.pop(0) continue # 這裡考慮到第一個元素就等於目標值 for p in range(1, len(Values)): if Values[p] == y: ValidValues.append((x, y)) Values.pop(p) break # 這裡的break是必須的,不然會顯示下標超標的錯誤 Values.pop(0) # 無論怎麼樣陣列中有沒有與第一個元素匹配的,我們在最後都要刪除第一個元素 if not Values: return ValidValues print(consequence(16, [1, 9, 6, 8,16, 8, 7, 13, 14]))