zoukankan      html  css  js  c++  java
  • LeetCode:1. 两数之和

    1、题目描述

      给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的 两个 整数。

    你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。

    示例:

    给定 nums = [2, 7, 11, 15], target = 9
    
    因为 nums[0] + nums[1] = 2 + 7 = 9
    所以返回 [0, 1]

    2、题解

    2.1、解法一:

    class Solution:
        def twoSum(self, nums, target):
            """
            :type nums: List[int]
            :type target: int
            :rtype: List[int]
            """
            dic={} 
            for i in range(len(nums)):            
    	        if nums[i] in dic:                
    		        return [dic[nums[i]],i]            
    	        else:                
    	            dic[target-nums[i]]=i#存储其补集位置
                
    
    
            
    

    2.2、解法二

    class Solution:
        def twoSum(self, nums, target):
            """
            :type nums: List[int]
            :type target: int
            :rtype: List[int]
            """
            list_len = len(nums)
            i = 0
            hashmap = dict()
            while i < list_len:
                hashmap[nums[i]] = i
                i = i + 1
    
            j = 0
            while j < list_len:
                temp = target - nums[j]
                if hashmap.get(temp) is not None and j != hashmap.get(temp):
                    return [j, hashmap.get(temp)]
                j = j + 1
    

      

      

  • 相关阅读:
    请说出这些测试最好由那些人员完成,测试的是什么?
    测试结束的标准是什么?
    你的测试职业发展目标是什么?
    elementui医疗
    医疗前端
    spring创建对象3种方式
    idea-git
    eclipse-git
    ArrayList01
    单体权限
  • 原文地址:https://www.cnblogs.com/bad-robot/p/10064208.html
Copyright © 2011-2022 走看看