zoukankan      html  css  js  c++  java
  • 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





  • 相关阅读:
    解决sql2008附加不了2005的数据库文件的问题
    方阵
    台阶问题
    螺旋矩阵
    兔子问题
    九乘九乘法口诀
    选猴王
    拿鸡蛋问题
    软工个人作业
    小学四则运算法则训练
  • 原文地址:https://www.cnblogs.com/xiaotongtt/p/10663102.html
Copyright © 2011-2022 走看看