1. Two Sum

Posted 谦曰盛

tags:

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

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].

  

Solutions:

 

class Solution(object):
    def twoSum(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: List[int]
        """
        for onenum in nums:
            other = target - onenum  # 根据前面两个数的相加得到这个结果,那么相减则得到另外一个数的值
            f = nums.index(onenum)
            if other in nums[f+1:]:
                return [f,nums[f+1:].index(other)+f+1]

另外的做法本质相同:

class Solution(object):
    def twoSum(self, nums, target):
  
        for i in range(len(nums)):
            temp = target - nums[i]
            if temp in nums and i != nums.index(temp): # 加入了次数限制条件
                return [i, nums.index(temp)]

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

1_Two Sum --LeetCode

Two Sum

每日一算法之two sum

LeetCode之371. Sum of Two Integers

Two Sum

1. Two Sum