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

  • 相关阅读:
    C到C++的升级
    设计模式分类
    对模式的十大误解
    MAC帧和IP包的分析
    python之路—从入门到放弃
    选课系统
    Scrapy框架详解
    爬虫系列
    Python从入门到断气
    常用模块
  • 原文地址:https://www.cnblogs.com/qianyuesheng/p/9063169.html
Copyright © 2011-2022 走看看