LeetCode 01

题目描述
这道题我们首先会想到暴力法,也就是我们做两层循环,第二层循环开始的坐标一直比第一层循环的大一,这样就不会出现重复元素相加刚好得到目标值的这种情况。下面给出代码。
在这里插入图片描述

显然,上面这种解法的时间复杂度为O(n²),我们就要思考是否存在更好的解法。于是想到了HashMap这个好用的东西。
在这里插入图片描述
我们先创建一个HashMap,然后根据这样一种算法:进行一次循环,如果该次循环到的数组的值与目标值的差值已经在HashMap中,那么我们就把该次的 i 值和包含该键的HashMap的键放入数组返回。否则将对应的 i 数组的值和 i 放入HashMap中。

猜你喜欢

转载自blog.csdn.net/Ly20160520/article/details/88662372