题目描述
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
|
|
分析
咋一看这道题就知道用暴力迭代肯定能解决问题,但是LeetCode肯定不会接受这种暴力搜索这么简单的方法(其时间复杂度$O(n^2)$)。
解法1
先遍历一遍数组,建立map<key=(数组值), vale=(索引)>
数据。然后再遍历一遍,开始超找,找到则记录index。代码如下:
C++
|
|
Swift
|
|
解法2
或者我们可以写的更加简洁一些,把两个for循环合并成一个:
C++
|
|
Swift
|
|