zoukankan      html  css  js  c++  java
  • leetcode算法:1.两数之和

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

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

    示例:

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

    思考

    考虑空间复杂度

    1. 要求空间复杂度O(1)
    2. 允许空间复杂度O(n)

    解答

    • 对于要求空间复杂度O(1)的这种情况,只能双层循环暴力搜索了,也就是看到这道题的第一简单粗暴解法。
    • 对于允许空间复杂度O(n)的这种情况,就是典型的空间换时间了,利用一个外部map(dict)来边检索边存储。
  • 相关阅读:
    [bzoj3999] [TJOI2015]旅游
    [bzoj3143] [HNOI2013]游走
    [bzoj3140] [Hnoi2013]消毒
    [bzoj3142] [HNOI2013]数列
    [bzoj4860] [BeiJing2017]树的难题
    [bzoj2599] [IOI2011]Race
    [bzoj1558] [JSOI2009]等差数列
    [bzoj3626] [LNOI2014]LCA
    [bzoj4011] [HNOI2015]落忆枫音
    JQuery
  • 原文地址:https://www.cnblogs.com/pluse/p/13308335.html
Copyright © 2011-2022 走看看