码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode 1

时间:2018-10-06 13:14:18      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:integer   elf   ==   索引   twosum   ret   ict   bsp   rate   

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

 Solution_1

简单的for语句

class Solution(object):
    def twoSum(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: List[int]
        """
        for index1, num1 in enumerate(nums):
            for index2, num2 in enumerate(nums):
                if index1 != index2:
                    if num1 + num2 == target:
                        return [index1, index2]

Solution_2

用一个字典来表示每个索引和target之间的差。然后判断列表中的元素是否在字典的键值中

class Solution(object):
    def twoSum(self, nums, target):
        if len(nums) <= 1:
            return False
        buff_dict = {}
        for i in range(len(nums)):
            if nums[i] in buff_dict:
                return [buff_dict[nums[i]], i]
            else:
                buff_dict[target - nums[i]] = i

 

leetcode 1

标签:integer   elf   ==   索引   twosum   ret   ict   bsp   rate   

原文地址:https://www.cnblogs.com/francischeng/p/9747057.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!