美文网首页
LeetCode 1 两数之和 Two Sum Python

LeetCode 1 两数之和 Two Sum Python

作者: 划水型派大星 | 来源:发表于2019-05-08 10:26 被阅读0次

    有关哈希表的LeetCode做题笔记,Python实现

    1. 两数之和 Two Sum

    LeetCodeCN 第1题链接

    第一种方法:用哈希表,时间复杂度是O(n)

    class Solution:
        def twoSum(self, nums: List[int], target: int) -> List[int]:
            dic = {}
            for i in range(len(nums)):
                if nums[i] in dic:
                    return [dic[nums[i]], i]
                else:            
                    dic[target - nums[i]] = i
    

    第二种方法:暴力两重遍历,这样时间复杂度是O(n^2),在LeetCode里提交会超时

    class Solution:
        def twoSum(self, nums: List[int], target: int) -> List[int]:
            for i in range(len(nums)):
                for j in range(i+1, len(nums)):
                    if nums[i] + nums[j] == target:
                        return [i, j]
    

    下一题:15. 三数之和 3Sum

    相关文章

      网友评论

          本文标题:LeetCode 1 两数之和 Two Sum Python

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