<>167. 两数之和 II - 输入有序数组

<>给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。

<>函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。

<>说明:

<>返回的下标值(index1 和 index2)不是从零开始的。

<>你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。

<>示例:

<>输入: numbers = [2, 7, 11, 15], target = 9

<>输出: [1,2]

<>解释: 2 与 7 之和等于目标数 9 。因此 index1 = 1, index2 = 2 。

<>方法一:双重循环逐一判断是否相等,拿到对应的索引。
public static int[] twoSum(int[] numbers, int target) { int[] index = new int[2
]; for (int i = 0; i < numbers.length; i++) { for (int j = i + 1; j < numbers.
length; j++) { if (numbers[i]+numbers[j]==target){ index[0] = i+1; index[1] = j+
1; } } } return index; }
<>方法二:双指针,根据相加结果和目标值的大小判断索引前进还是后腿
public static int[] twoSum(int[] numbers, int target) { // 双指针 int left = 0;
int right = numbers.length - 1; while (left < right) { int sum = numbers[left] +
numbers[right]; if (sum == target) { return new int[]{left + 1, right + 1}; }
else if (sum > target) { right--; } else { left++; } } return new int[2]; }

技术
©2019-2020 Toolsou All rights reserved,
MyBatis 新增数据 成功 返回 自增主键ID值用C语言做很简单的飞机游戏苹果不送充填器耳机真为环保?可能还是为了赚钱吧一个名叫“讨火车”的小村子 终于把火车讨来了使用easyPOI导入Excel数据QT:清空指定文件夹内的所有文件及目录json反斜杠问题3种Python数据结构,13种创建方法,这个总结,超赞!访客手机抓取方法改主意!特斯拉开始向欧洲市场交付中国造Model 3