美文网首页
两数之和(O(n))

两数之和(O(n))

作者: Haward_ | 来源:发表于2019-03-22 13:53 被阅读0次

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。

你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。

示例:

给定 nums = [2, 7, 11, 15], target = 9

因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
O(n)解法

class Solution:
    def twoSum(self, nums, target):
        d = {}
        for i in range(len(nums)):
            other =  target - nums[i]
            if d.get(other)!=None:
                return [d.get(other),i]
            d[nums[i]] = i
        return None

if __name__=="__main__":
    so = Solution()
    res = so.twoSum([2,7,11,15],9)
    print(res)

相关文章

  • 两数之和(O(n))

    给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的...

  • Swift 两数之和 - LeetCode

    题目:两数之和 描述: 示例: 方法一:循环嵌套,时间复杂度O(n2),空间复杂度O(1) 代码如下: 执行时间:...

  • 2019-07-21刷题-3

    题目序号:1,167,125 两数之和思路:本题采用简单的暴力算法,其复杂度是O(n^2)。可采用哈希表,达到O(...

  • 第一周算法总结

    1. 两数之和 方法一:暴力法(两层循环)时间复杂度:O(n^2) ,空间复杂度O(1) 方法二:两遍哈希表(第一...

  • 三数之和

    解法一: 暴力三循环嵌套 时间复杂度 O(n^3) 解法二: 时间换空间原理同 javaScript 之两数之和 ...

  • leetcode-四数之和

    原理和三数之和相同,但多了一层循环,复杂度为 O(n^3)。

  • Golang LeetCode - 1. Two Sum 两数之

    Two Sum 两数之和 Given an array of integers, return indices o...

  • LeetCode 刷题总结(1)

    1.两数之和 AC代码 思路 刚开始就是用双层for循环写,然后秉承着谦虚的态度看了题解,发现真的有O(N)的算法...

  • 2021-09-27 今日算法

    1.两数之和 解题 我首先想到的是暴力解法,就是对数组嵌套循环(时间复杂度是 O(n²)): 肯定有更好的办法看到...

  • 两数之和(golang)

    原题:两数之和 关联:两数之和 II - 输入有序数组(golang)两数之和 IV - 输入 BST(golang)

网友评论

      本文标题:两数之和(O(n))

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