码迷,mamicode.com
首页 > 编程语言 > 详细

Leetcode 1. Two Sum (Python)

时间:2019-04-06 22:54:42      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:com   example   mamicode   ict   ext   lis   and   memory   exactly   

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)

标签:com   example   mamicode   ict   ext   lis   and   memory   exactly   

原文地址:https://www.cnblogs.com/xiaotongtt/p/10663102.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!