12.两数之和
题目描述
给出一个整数数组,请在数组中找出两个加起来等于目标值的数,
你给出的函数twoSum 需要返回这两个数字的下标(index1,index2),需要满足 index1 小于index2.。注意:下标是从1开始的
假设给出的数组中只存在唯一解
例如:
给出的数组为 {20, 70, 110, 150},目标值为90
输出 index1=1, index2=2
输入
[3,2,4],6
返回值
[2,3]
分析
1.首先要明确一点,要想使此题有解的话,必须满足一点的是,在数组numbers中一定会有两个数相加等于目标值的
2.遍历数组,对数组中的值进行判定
代码实现
public class Solution {
/**
*
* @param numbers int整型一维数组
* @param target int整型
* @return int整型一维数组
*/
public int[] twoSum(int[] numbers, int target) {
int array[] = 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) {
array[0] = i + 1;
array[1] = j + 1;
}
}
Arrays.sort(array);
}
return array;
}
}