Company:
Qualcomm, Microsoft, MakeMyTrip, Google, Amazon, Accolite
Question:
Qualcomm, Microsoft, MakeMyTrip, Google, Amazon, Accolite
Question:
You are given an array A containing 2*N+2 positive numbers, out of which N numbers are repeated exactly once and the other two numbers occur exactly once and are distinct. You need to find the other two numbers and print them in ascending order.
Input :
The first line contains a value T, which denotes the number of test cases. Then T test cases follow .The first line of each test case contains a value N. The next line contains 2*N+2 space separated integers.
The first line contains a value T, which denotes the number of test cases. Then T test cases follow .The first line of each test case contains a value N. The next line contains 2*N+2 space separated integers.
Output :
Print in a new line the two numbers in ascending order.
Print in a new line the two numbers in ascending order.
Constraints :
1<=T<=100
1<=N<=10^6
1<=A[i]<=5*10^8
1<=T<=100
1<=N<=10^6
1<=A[i]<=5*10^8
Example:
Input :
2
2
1 2 3 2 1 4
1
2 1 3 2
Input :
2
2
1 2 3 2 1 4
1
2 1 3 2
Output :
3 4
1 3
3 4
1 3
Code:
import java.util.*;
import java.lang.*;
import java.io.*;
class Solution {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int m = sc.nextInt();
while(m > 0) {
int n = sc.nextInt();
int[] array = new int[2*n+2];
for(int i = 0; i < array.length; i++) {
array[i] = sc.nextInt();
}
Arrays.sort(array);
findNums(array);
m--;
}
}
static void findNums(int[] a) {
List<Integer> res = new ArrayList<>();
for (int i = 0; i < a.length; i++) {
if(res.contains(a[i])) {
res.remove(res.indexOf(a[i]));
}
else {
res.add(a[i]);
}
}
for(int num : res) {
System.out.print(num + " ");
}
System.out.println();
}
}
Comments
Post a Comment