zoukankan      html  css  js  c++  java
  • Two sum

    Two sum

    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.

    Example:

    Given nums = [2, 7, 11, 15], target = 9,
    
    Because nums[0] + nums[1] = 2 + 7 = 9,
    return [0, 1].

    UPDATE (2016/2/13):
    The return format had been changed to zero-based indices. Please read the above updated description carefully.
    Subscribe to see which companies asked this question.

    code:

    way:

    class Solution(object):
        def twoSum(self, nums, target):
        d={}
            """
            :type nums: List[int]
            :type target: int
            :rtype: List[int]
            """
            for i,v in enumerate(nums):
                if target-v in d:
                    return [d[target-v],i+1]
            d[v]=i+1

    other way:

    class Solution(object):
        def twoSum(self,nums,target):
        hash={}                         #用于建立数值到下标的映射
    
                   """
                   :type nums: List[int]
                   :type target: int
                   :rtype: List[int]
                   """
                   for i in range(len(nums)):
                        if target-nums[i] in hash:
                            returm [hash[target-num[i]], i]
                        hash [nums[i]]=1
    
                   return [-1,-1]               #无解的情况
  • 相关阅读:
    DAG:区块链行业下一个引爆点?
    php7的新特性
    Linux中的冷热页机制概述
    撰写后台需求文档需要注意的那些事儿
    poj 1201 Intervals
    poj 1364
    poj Candies
    hdu 1429
    poj A Round Peg in a Ground Hole
    poj 1113Wall
  • 原文地址:https://www.cnblogs.com/lingan-hong/p/6403977.html
Copyright © 2011-2022 走看看