2017-03-17 15 views
0

我工作的一個Python本文給出了問題接受NULL輸出方案和問題是:在本文給出了

鑑於整數數組中已按升序排序,找到兩個數字,使得他們補充達到特定的目標號碼。

函數twoSum應該返回這兩個數字的索引,使它們合計到目標,其中index1必須小於index2。請注意,您返回的答案(index1和index2)不是從零開始的。

您可能會認爲每個輸入都只有一個解決方案,而且您可能不會使用相同的元素兩次。

輸入:編號= {2,7,11,15},目標= 9 輸出:索引1 = 1,索引2 = 2


我寫這個問題的代碼是這樣的:

class Solution(): 
    def twoSum(self, nums, target): 
     d = {} 
     for i, e in enumerate(nums): 
      k = target - i 
      if k in d: 
       return [d[k], i] 
      d[e] = i 

但是我收到一個NULL輸出,不能找出爲什麼

預期的答案是 [1,2] 的EXA mple的問題

回答

0

我認爲你應該使用k = target - ei是索引,e是價值,所以也許target-e是你想要的:

def twoSum(nums, target): 
    d = {} 
    for i, e in enumerate(nums): 
     k = target - e 
     if k in d: 
      return [d[k], i] 
     d[e] = i 


print twoSum([2,7,11,15],9) 

輸出:

[0,1] 
+0

哇完全飛過我的權利,非常感謝捕捉! – user7724701

相關問題