题目描述
简单双指针,根据代码在纸上走一遍即可
样例
import java.io.*;
import java.util.Arrays;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] s = br.readLine().split(" ");
int money = Integer.parseInt(s[1]);
String[] ss = br.readLine().split(" ");
int[] arr = Arrays.stream(ss).mapToInt(Integer::parseInt).toArray();
Arrays.sort(arr);
int n = arr.length;
int i = 0, j = n-1;
while (i<j){
if (arr[i]+arr[j]==money){
System.out.println(arr[i] + " " + arr[j]);
return;
}else if (arr[i]+arr[j]>money){
j--;
}else {
i++;
}
}
System.out.println("No Solution");
}
}