美文网首页
twoSum__Python3

twoSum__Python3

作者: 汽水味丶嗝 | 来源:发表于2017-12-10 21:46 被阅读0次

    Given an array of integers, return indicesof the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution, and you may not use the same element twice.

    一个整数数组中两个元素可以相加得到给定的数值,每次输入只得到1组输出,不能重复使用数组中的数。

    例:
    Given nums = [2, 7, 11, 15]
    target = 9
    Because nums[0] + nums[1] = 2 + 7 = 9
    return [0,1]
    type nums: List[int]
    type target: int
    rtype: List[int]
    

    BF: 时间复杂度 O(n^2)

    
    class Solution:
      def twoSum(self, nums, target):
      #嵌套循环遍历列表,元素相加是否符合target值
        length = len(nums)
        for index in range(length) :
          for n in range(index+1,length):
            if(nums[index] + nums[n] == target):
        return (index,n)
    
    

    哈希表:时间复杂度O(n)

    class Solution:
      def twoSum(self, nums, target):
        dict = {}   #字典是哈希表在python中的实现
        for index in range(len(nums)):
          left = target - nums[index]  #向字典中检查是否有left的值
          if left in dict:    #一边检索一边向空字典中添加元素,字典中顺序与nums中一致
            return (dict[left], index)
          else:
            dict[nums[index]] = index  #添加元素,nums转化为字典
    

    相关文章

      网友评论

          本文标题:twoSum__Python3

          本文链接:https://www.haomeiwen.com/subject/qixbixtx.html