【LeetCode python编程题练习】数组1:两数之和

题目:

给定一个整数数列,找出其中和为特定值的那两个数。

你可以假设每个输入都只会有一种答案,同样的元素不能被重用。

解题思路:

这个题我一开始尝试用暴力破解的方式,结果显示time out,很明显这是一个O(n^2)的负责度难度;应该尽可能用复杂度更低的算法。我的方法是,第一次遍历nums的时候就寻找target-a的数字是否存在。

代码:

class Solution:
    def twoSum(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: List[int]
        """
        for i , a in enumerate(nums):
            ans = target - a
            if ans in nums and i != nums.index(ans):
                return i , nums.index(ans)

你可能感兴趣的:(python)