zoukankan      html  css  js  c++  java
  • leetcode_1

    1. 两数之和
    给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。

    你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。


    暴力破解:

    哈希表思路:

    参考大佬的回答
    Python中没有指针,所以创建一个字典,用于存放数组的下标和值:
    思路:
    先将数组的值存放进字典,再进行值得比对,再返回符合的值得下标,需要两次循环时间复杂度为O(n2),空间复杂度为O(1);
    思路改进:
    边存边找,只需要进行一次循环时间复杂度为O(n),空间复杂度为O(1)。
    代码:
    class Solution:
        def twoSum(self, nums: List[int], target: int) -> List[int]:
            dic = {}
            for key, value in enumerate(nums):
                if target-value in dic:
                    return [dic[target-value], key]
                dic[value] = key

  • 相关阅读:
    叶树:任总喊你回家吃饭 (zz)
    一个小员工如何让一家大银行一夕倒闭(附几则)
    精妙SQL语句收集
    降温了 降温了
    東京タワー初めてphoto
    圣诞气氛photo
    初冬071110photo
    超级郁闷的一天
    eveningplan
    KOF怀念ING
  • 原文地址:https://www.cnblogs.com/wj99/p/13723932.html
Copyright © 2011-2022 走看看