/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
int[] arr1 = { 1, 3, 9, 5 };
int[] arr2 = { 7, 0, 5, 4, 3 };
int arr1Len = arr1.length;
int arr2Len = arr2.length;
int[] both = new int[arr1Len+arr2Len];
int[] result = new int[arr1Len+arr2Len];
System.
arraycopy(arr1,
0, both,
0, arr1Len
); System.
arraycopy(arr2,
0, both, arr1Len, arr2Len
);
//Array sort complexity O(n) < x < O(n lg n)
//Sorted array duplication removal O(n)
int counterUnique = 0;
result[0] = both[0];
for (int item : both) {
if(result[counterUnique] != item){
result[++counterUnique]=item;
}
}
//optional
int[] rightSizeResult
= Arrays.
copyOf(result, counterUnique
+1); }
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCWludFtdIGFycjEgPSB7IDEsIDMsIDksIDUgfTsKCQlpbnRbXSBhcnIyID0geyA3LCAwLCA1LCA0LCAzIH07CgkJaW50IGFycjFMZW4gPSBhcnIxLmxlbmd0aDsKCQlpbnQgYXJyMkxlbiA9IGFycjIubGVuZ3RoOwoJCWludFtdIGJvdGggPSBuZXcgaW50W2FycjFMZW4rYXJyMkxlbl07CgkJaW50W10gcmVzdWx0ID0gbmV3IGludFthcnIxTGVuK2FycjJMZW5dOwoJCVN5c3RlbS5hcnJheWNvcHkoYXJyMSwgMCwgYm90aCwgMCwgYXJyMUxlbik7CgkJU3lzdGVtLmFycmF5Y29weShhcnIyLCAwLCBib3RoLCBhcnIxTGVuLCBhcnIyTGVuKTsKCQkKCQkvL0FycmF5IHNvcnQgY29tcGxleGl0eSBPKG4pIDwgeCA8IE8obiBsZyBuKQoJCUFycmF5cy5zb3J0KGJvdGgpOwoJCQoJCS8vU29ydGVkIGFycmF5IGR1cGxpY2F0aW9uIHJlbW92YWwgTyhuKQoJCWludCBjb3VudGVyVW5pcXVlID0gMDsKCQlyZXN1bHRbMF0gPSBib3RoWzBdOwoJCWZvciAoaW50IGl0ZW0gOiBib3RoKSB7CgkJICBpZihyZXN1bHRbY291bnRlclVuaXF1ZV0gIT0gaXRlbSl7CgkJICAgIHJlc3VsdFsrK2NvdW50ZXJVbmlxdWVdPWl0ZW07CgkJICB9CgkJfQoJCQoJCS8vb3B0aW9uYWwKCQlpbnRbXSByaWdodFNpemVSZXN1bHQgPSBBcnJheXMuY29weU9mKHJlc3VsdCwgY291bnRlclVuaXF1ZSsxKTsKCQlTeXN0ZW0ub3V0LnByaW50bG4oQXJyYXlzLnRvU3RyaW5nKHJpZ2h0U2l6ZVJlc3VsdCkpOwoJfQp9