Leetcode 1. Two Sum (Python)

Posted 有梦放飞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode 1. Two Sum (Python)相关的知识,希望对你有一定的参考价值。

refer to https://blog.csdn.net/linfeng886/article/details/79772348 

Description

 Given an array of integers, return indices of 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.

Example:

 Given nums = [2, 7, 11, 15], target = 9, Because nums[0] + nums[1] = 2 + 7 = 9,return [0, 1].

Python code

1. Brute Force

class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        N = len(nums)
        for i in range(N):
            for j in range(i+1, N): # Traverse the next element in turn
                if nums[j] == target - nums[i]:
                    return [i,j]
                    break
                else:
                    continue

This methods have high computation complexity and memory storage.

2. one for loop

class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        N = len(nums)
        for i in range(N):
            rest = target - nums[i]
            if rest in nums:
                j = nums.index(rest) 
                return [i,j]
                break
            else:
                continue

3. create a dict first

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

 





以上是关于Leetcode 1. Two Sum (Python)的主要内容,如果未能解决你的问题,请参考以下文章

leetcode 1.Two sum

Leetcode 1. Two Sum (Python)

LeetCode #1 - Two Sum

1. 两数之和 [leetcode 1: Two Sum]

1. 两数之和 [leetcode 1: Two Sum]

Leetcode-1 Two Sum