题目
题目概述
输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。
示例
限制:
1 <= nums.length <= 10^5
1 <= nums[i] <= 10^6
基础框架
class Solution { public int[] twoSum(int[] nums, int target) { } }
解题思路
双指针解决即可
class Solution { public int[] twoSum(int[] nums, int target) { int left=0; int right=nums.length-1; while(left<right){ if(nums[left]+nums[right]<target){left++;} else if(nums[left]+nums[right]>target){right--;} else return new int[]{nums[left],nums[right]}; } return new int[0]; } }