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

  • 相关阅读:
    第4章 Android移植环境搭建
    第3章 Android移植平台工具介绍
    第2章
    第1章 Android系统的编译和移植实例:
    nfs
    TFTP服务器搭建
    根系统制作
    nfs挂载
    uboot的编译
    交叉工具链的搭建方法
  • 原文地址:https://www.cnblogs.com/qianyuesheng/p/9063169.html
Copyright © 2011-2022 走看看