Two Sum

来源:互联网 发布:视频下载软件 vd 编辑:程序博客网 时间:2024/06/05 03:13
这是我用Python刷的第一个题。我刚开始用python,并且第一次刷leetCode,和我以前刷过的网站不太一样,我还是按以前的办法处理,导致浪费了很多时间去,但是体验挺不错的,同时也感觉到了英语的重要性。一开始用暴力破解,时间复杂度为n的平方,在第18个测试用例上导致超时。所以必须得换,但是没想出来[衰]。看到网上有这种方法,就翻译为python了。
class Solution(object):    def twoSum(self, nums, target):        """        :type nums: List[int]        :type target: int        :rtype: List[int]        """        length = len(nums)        d = {}        index = 0        while index < length:            if d.get(target-nums[index],-1) == -1:                #若target-nums[index]不在d中,则把nums[index]添加到d,方便快速访问                d[nums[index]] = index                index = index + 1 #下标加1,老以为是c语言中,自动加1            else:                return d.get(target-nums[index]),index  #返回下标
原创粉丝点击