有序数组找到两个数等于目标值 水深无声 2022-10-29 07:48 129阅读 0赞 /** * 输入一个已经按照升序排列的有序数组nums和一个目标值target,找到两个数,使得他们的和=target,并返回这两个数的索引 * 左右指针 */ public class Test6 { public static void main(String[] args) { int[] nums = new int[]{ 2,7,11,15}; int target = 13; for (int i : calc(nums, target)) { System.out.println(i); } } static int[] calc(int[] nums, int target) { int left = 0; int right = nums.length - 1; while (left < right) { int rs = nums[left] + nums[right]; if (rs == target) { return new int[]{ left, right}; } else if (rs < target) { left++; } else { right--; } } return new int[]{ -1, -1}; } }
还没有评论,来说两句吧...