来自力扣(LeetCode)
题目描述
给一个整型数组和一个目标值,请在数组中找到和为目标值的那两个数,返回他们的下标。
示例:给定数组:[1,5,9,10,23,4] 目标值:32
返回:2 4
解决思路
嵌套for循环,外层循环变量i从0开始遍历,内层循环从j从i+1开始遍历,这样数组中每一个数只需要和它后面的数相加判断。
实现代码
public static int[] findNumber(int[] arr,int target){
int[] wuMing = new int[2]; //构建一个新数组,存放两个数的下标
for (int i = 0; i < arr.length; i++) {
for (int j = i+1; j < arr.length; j++) {
if(arr[i] + arr[j] == target){
wuMing[0] = i;
wuMing[1] = j;
return wuMing;
}
}
}
return null; //没有找到满足条件的数时,返回null
}
public static void main(String[] args) {
int[] arr = {1,5,9,10,23,4};
int number = 32;
System.out.println("两个数的下标为: "+Arrays.toString(findNumber(arr,number)));
}
运行结果如下: