<>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,
Java开发2020年最新常见面试题整理【Spring源码分析】42-@Conditional详解element-ui踩坑记录神仙面试宝典你有了吗?半月看完25大专题,居然斩获阿里P8offer使用css样式设计一个简单的html登陆界面XCTF攻防世界web新手练习_ 9_command_executionJS中的解构赋值的详解与具体用途Python Web 框架elementui 穿梭框 el-transfer 展示列表内容文字过长ConcurrentHashMap实现原理及源码解析