1.两数之和

思路:定义一个map,key = 数组中这个值    ;    value = 数组中这个值的下标

遍历一边数组,如果当前这个another = target - nums[i] 在这个map中可以找到,那么直接返回

return vector<int>({hash[another],i}); 这个数的下标和当前这个数的下标,否则就进行记录这个值的索引

注:两个数必定有先后顺序,所以不可能会存在错过的现象

题目


代码

167. 两数之和 II - 输入有序数组

双指针:一个指针指向头,一个指针指向尾,开始相加,如果两个值相同,则return

因为这是一个升序排列好的数组

如果两个值的和大于target则让尾部的指针向前移动,如果两个值的和小于target则让头部的指针向后移动

题目


代码