题目描述:在有序数组中找出两个数,使它们的和为 target。
解题思路,使用双指针的方式,根据比较结果移动指针,得到想要的结果
package com.chason.suanfa;/*** <p>description: </p>* <p>Date: 2021/8/27</p>* <p>modify:</p>** @author zhang zhangs@deepblueai.com**/public class FindToItemAdd2Target {public static void main(String[] args) {int[] arr ={1,3,4,6,8,9,12,45,67};int[] res = toSum(arr,20);System.out.println(res[0]);System.out.println(res[1]);}public static int[] toSum(int[] arr, int target) {int head = 0, tail = arr.length - 1;while (head < tail) {int sum = arr[head] + arr[tail];if (target == sum) {return new int[]{head+1,tail+1};}if (arr[head] + arr[tail] > target) {tail--;} else {head++;}}return null;}}
