zoukankan      html  css  js  c++  java
  • LeetCode【第1题】Two Sum

    准备刷一刷LeetCode了。

    题目:

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

    中文题目:

    '''
    给定一个整数数组,返回两个元素的索引,使得这两个元素相加的值等于一个给定的target。
    
    您可以假设每个输入都恰有一个解决方案。
    
    例:
    给定nums = [2,7,11,15],target = 9,
    
    因为nums [0] + nums [1] = 2 + 7 = 9,
    return [0,1]。
    '''

    解法一和笔记:

     1 class Solution(object):
     2     def twoSum(self, nums, target):
     3         """
     4         :type nums: List[int]
     5         :type target: int
     6         :rtype: List[int]
     7         """
     8         arr = {}                       # 定义一个空字典
     9         length = len(nums)
    10         for i in range(length):
    11             if (target - nums[i]) in arr:     # 如果target减去当前的元素的值存在于空字典中时,符合题意。
    12                 return [arr[target - nums[i]], i]  # 返回target-nums[i]和i的索引
    13             arr[nums[i]] = i                   # 否则将该元素加入字典arr
    14 
    15 # 该方法accepted了,不知道是否有更优的解法
    16 a = Solution().twoSum([3, 2, 4], 6)
    17 print(a)
  • 相关阅读:
    JVM 重排序
    Dispatcher & Redirect
    Struts2-ActionContext
    eclipse+tomcat+maven debug的时候总是出现source not found /Edit lookup path...的问题解决方案
    web Listener
    优质博客
    IDEA中jdk设置
    chrome json插件
    IDEA快速复习
    MarkDown编辑器下载
  • 原文地址:https://www.cnblogs.com/zingp/p/6213117.html
Copyright © 2011-2022 走看看