两数之和 python

  • 执行用时为 28 ms 的范例
class Solution(object):
    def twoSum(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: List[int]
        """
        if len(nums)<=1:
            return None
        buff={}
        for i in range(len(nums)):
            if nums[i] in buff:
                return [i,buff[nums[i]]]
            else:
                buff[target-nums[i]]=i
  • 执行用时为 24 ms 的范例
class Solution(object):
    def twoSum(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: List[int]
        """
        num_dict = {}
        for i, num in enumerate(nums):
            complement = target - num 
            if complement in num_dict:
                return [num_dict[complement], i]
            num_dict[num] = i
  • 执行用时为 20 ms 的范例
class Solution:
    # @return a tuple, (index1, index2)
    # 8:42
    def twoSum(self, nums, target):
        d={}
        for i,num in enumerate(nums):
            if target-num in d:
                return d[target-num], i
            d[num]=i
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容