题目链接:LeetCode167—Input array is sorted
求有序数组中两个数的和等于目标数,可设置两个指针分别指向头尾,采用贪心思路,遍历一遍数组即可完成,代码如下:
public class Problem167 {
public static void main(String[] args) {
// TODO Auto-generated method stub
}
public int[] twoSum(int[] numbers, int target) {
int[] re=new int[2];
int i=0,j=numbers.length-1;
while(i<j){
if(numbers[i]+numbers[j]<target){
i++;
}
else if(numbers[i]+numbers[j]==target) break;
else j--;
}
re[0]=i+1;
re[1]=j+1;
return re;
}
}