lintcode練習 56 兩數之和

2021-08-21 19:01:06 字數 1258 閱讀 1248

給乙個整數陣列,找到兩個數使得他們的和等於乙個給定的數 target。

你需要實現的函式twosum需要返回這兩個數的下標, 並且第乙個下標小於第二個下標。注意這裡下標的範圍是 0 到 n-1。

你可以假設只有一組答案。

您在真實的面試中是否遇到過這個題?  是

給出 numbers =[2, 7, 11, 15], target =9, 返回[0, 1].

either of the following solutions are acceptable:

兩個思路,乙個是使用hash表對映,另乙個是直接兩個迴圈直接比較

class solution:

"""@param numbers: an array of integer

@param target: target = numbers[index1] + numbers[index2]

@return: [index1, index2] (index1 < index2)

"""'''

#hash 

def twosum(self, numbers, target):

# write your code here

hash = {}

for i, num in enumerate(numbers):

if target - num in hash:

return [hash[target-num], i]

hash[num] = i

return [-1, -1]

''''''

def twosum(self, numbers, target):

# write your code here

for i in range(len(numbers)):

for j in range(i):

if numbers[i] + numbers[j] == target:

return [j, i]

'''def twosum(self, numbers, target):

# write your code here

for i in range(len(numbers)):

for j in range(len(numbers)-1, i, -1):

if numbers[i] + numbers[j] == target:

return [i, j]

lintCode 56 兩數之和

給乙個整數陣列,找到兩個數使得他們的和等於乙個給定的數 target。你需要實現的函式twosum需要返回這兩個數的下標,並且第乙個下標小於第二個下標。注意這裡下標的範圍是 1 到 n,不是以 0 開頭。注意事項 你可以假設只有一組答案。樣例 給出 numbers 2,7,11,15 target ...

lintcode 56 兩數之和

描述 給乙個整數陣列,找到兩個數使得他們的和等於乙個給定的數 target。你需要實現的函式twosum需要返回這兩個數的下標,並且第乙個下標小於第二個下標。注意這裡下標的範圍是 0 到 n 1。tips 你可以假設只有一組答案。樣例 給出 numbers 2,7,11,15 target 9,返回...

lintcode 56 兩數之和

給乙個整數陣列,找到兩個數使得他們的和等於乙個給定的數 target。你需要實現的函式twosum需要返回這兩個數的下標,並且第乙個下標小於第二個下標。注意這裡下標的範圍是 0 到 n 1。給出 numbers 2,7,11,15 target 9,返回 0,1 either of the foll...