有点不同的方法。我们将根据需要构建一个值字典,该字典由我们要查找的值构成键;如果我们寻找一个值,则会在该值首次出现时对其进行索引。一旦找到满足问题的值,就可以完成。这个时间也是O(N)
class Solution: def twoSum(self, nums, target): look_for = {} for n,x in enumerate(nums): try: return look_for[x], n except KeyError: look_for.setdefault(target - x,n)test_case = Solution()array = [1, 5, 7]array2 = [3,2,4]given_nums=[2,7,11,15]print(test_case.twoSum(array, 6))print(test_case.twoSum(array2, 6))print(test_case.twoSum(given_nums,9))
输出:
(0, 1)(1, 2)(0, 1)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)