1.两指针(更快,适合已排序好的数组)
class Solution {
public int[] twoSum(int[] numbers, int target) {
int i=0,j=numbers.length-1;
while(i<j){
if(numbers[i]+numbers[j]==target){
return new int[]{i+1,j+1};
}
else if(numbers[i]+numbers[j]>target){
j-=1;
}
else{
i+=1;
}
}
return null;
}
}
2.暴力(较慢,适用任何数组)
class Solution {
public int[] twoSum(int[] nums, int target) {
for(int i=0;i<nums.length;i++){
for(int j=i+1;j<nums.length;j++){
if(nums[i]+nums[j]==target){
return new int[]{i,j};
}
}
}
return null;
}
}