什么是对撞指针:我的理解就是两个指针分别从两端向中间靠拢
题目是这样的:
代码实现如下:
思路:
设置两个指针,分别指向这个数组最大right和最小下标left, 然后元素相加,如果相加结果等于target直接输出下标, 如果相加结果大于target,因为是升序的,那么就是right -= 1, 如果两个元素相加小于target,就left+=1。最后一点就是退出条件要注意一定不能是left <= right, 因为那样会指向同一个元素。
这一题还可以使用暴力破解法和二分查找法来做