题目描述
AC代码
class Solution {
public int[] twoSum(int[] numbers, int target) {
int[] res=new int[2];
int i=0,j=numbers.length-1;
while(i<numbers.length&&j>=0){
if(numbers[i]+numbers[j]>target){
j--;
}else if(numbers[i]+numbers[j]<target){
i++;
}else
{
res[0]=i+1;res[1]=j+1;
return res;
}
}
return res;
}
}
思路都是一样的,写法有点区别,执行时间都是1ms。
class Solution {
public int[] twoSum(int[] numbers, int target) {
int[] res=new int[2];
for(int i=0,j=numbers.length-1;i<numbers.length;i++){
while(j>i&&numbers[i]+numbers[j]>target) j--;
if(numbers[i]+numbers[j]==target)
{
res[0]=i+1;res[1]=j+1;
return res;
}
}
return res;
}
}