题目描述
略
样例
输入样例:
4 5 6
1 2 4 7
3 4 6 8 9
输出样例:
1 1
Java代码
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
private static int N = 100010; //数组容量
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] numbers = br.readLine().split(" ");
int a = Integer.parseInt(numbers[0]);
int b = Integer.parseInt(numbers[1]);
int x = Integer.parseInt(numbers[2]);
String[] strA = br.readLine().split(" ");
int[] arrA = new int[a];
for (int i = 0; i < a; i++) {
arrA[i] = Integer.parseInt(strA[i]);
}
String[] strB = br.readLine().split(" ");
int[] arrB = new int[b];
for (int i = 0; i < b; i++) {
arrB[i] = Integer.parseInt(strB[i]);
}
SearchTargerSum(arrA, arrB, x);
br.close();
}
private static void SearchTargerSum(int[] arrA, int[] arrB, int x) {
for (int i = 0, j = arrB.length - 1; i < arrA.length; i++) {
while (j > 0 && arrA[i] + arrB[j] > x) { //两个数组都是升序,如果arrA[i] + arrB[j] ,比j大的数值就更不用比较了
j--;
}
if (arrA[i] + arrB[j] == x) {
System.out.println(i + " " + j);
}
}
}
}