从零开始的leetcode:两数之和

目录

  • 两数之和
    • 任务描述
    • 解决思路
    • 时间复杂度分析

两数之和

任务描述

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

给定:[2,7,11,15],找和为9数的位置

输出:[0,1]

解决思路

  1. 用键值对unordered_map存数组

    key value
    2 0
    7 1
    11 2
    15 3
  2. 在map中找有没有以9 - num[i]为key。即:有没有以9-2=7为key的

  3. 循环一旦找到输出[i map[9 - num[i]]]。输出[0,map[7]]

时间复杂度分析

就一个循环,时间复杂度 O ( n ) O(n) O(n)

你可能感兴趣的:(leetcode,leetcode)