面试题57:数组中2个数的和(也是leetcode题目)

题目:
给定一个整数数列,找出其中和为特定值的那两个数。
你可以假设每个输入都只会有一种答案,同样的元素不能被重用。
示例:
给定 nums = [2, 7, 11, 15], target = 9
因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]

  

def twosum(array,target):
    # 先判断边界条件
    if len(array)<=1:
        return None
    # 正常遍历
    for i in range(len(array)):
        res = target-array[i]
        if res in array:
            idxs = array.index(res)
            return [i,idxs]
    return None 

if __name__ == "__main__":
    array=[2, 7, 11, 15]
    target = 9
    print(twosum(array,target))

 题目:

# -*- coding:utf-8 -*-
class Solution:
    def FindNumbersWithSum(self, array, tsum):
        # write code here
        if not array or len(array)<2:
            return []
        
        for i in array:
            temp = tsum-i
            if temp in array:
                return [i,temp]
        return []

  

posted @ 2019-08-17 11:01  lililili——  阅读(264)  评论(0)    收藏  举报