力扣算法练习题

一. 两数之和

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/two-sum

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

1、我提交的代码

class Solution(object):
    def twoSum(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: List[int]
        """
        for i in range(len(nums)):
            c = target - nums[i];
            if c in nums:
                for j in range(len(nums)-i-1):
                    if(c==nums[j+i+1]):
                        return [i,j+i+1]

2、执行用时最短

class Solution(object):
    def twoSum(self,nums, target):
        dict1 = {
     }
        for i,v in enumerate(nums):
            if v in dict1:
                return [dict1[v],i]
            dict1[target - v] = i

你可能感兴趣的:(算法练习题,算法练习题)