力扣 167.两数之和||—输入为有序数组
题目介绍
解法
利用相向双指针,初始时l在最用左边,r在最右边
1.numbers[l] + numbers[r] < target 则 l++
2.numbers[l] + numbers[r] < target 则 r++
3.numbers[l] + numbers[r] == target 说明找到了答案
class Solution {
public int[] twoSum(int[] numbers, int target) {
int l = 0, r = numbers.length -1;
while(l < r){
if(numbers[l] + numbers[r] == target){
break;
}else if(numbers[l] + numbers[r] < target){
l++;
}else{
r--;
}
}
return new int[]{l + 1,r + 1};
}
}
原文地址:https://blog.csdn.net/qq_51352130/article/details/142282147
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!