public int[] twoSum(int[] nums, int target) {
// 双指针
int i = 0;
int j = nums.length - 1;
// i,j相遇是出口
while(i < j) {
int sum = nums[i] + nums[j];
// 递增序列 和小i++
if(sum < target) {
i++;
// 和大j--
} else if(sum > target) {
j--;
} else{
// 找到一组满足 直接return
return new int[] { nums[i], nums[j] };
}
}
// i,j相遇还没有 那就是没有了
return new int[0];
}

本文介绍了一种使用双指针对有序数组进行搜索的方法,以找出两个数的和等于给定目标值的问题。通过逐步调整两个指针的位置,算法能够有效地找到满足条件的元素对。

被折叠的 条评论
为什么被折叠?



