Petya has an array aa consisting of nn integers. He wants to remove duplicate (equal) elements.
Petya wants to leave only the rightmost entry (occurrence) for each element of the array. The relative order of the remaining unique elements should not be changed.
The first line contains a single integer nn (1≤n≤501≤n≤50) — the number of elements in Petya's array.
The following line contains a sequence a1,a2,…,ana1,a2,…,an (1≤ai≤10001≤ai≤1000) — the Petya's array.
In the first line print integer xx — the number of elements which will be left in Petya's array after he removed the duplicates.
In the second line print xx integers separated with a space — Petya's array after he removed the duplicates. For each unique element only the rightmost entry should be left.
6 1 5 5 1 6 1
3 5 6 1
5 2 4 2 4 4
2 2 4
5 6 6 6 6 6
1 6
代码:
import java.util.Scanner;
import java.util.Stack;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
int[] a = new int[n];
for(int i = 0; i < n; i++){
a[i] = scan.nextInt();
}
for(int i = 0; i < n/2; i++){
int temp = a[i];
a[i] = a[n-i-1];
a[n-i-1] = temp;
}
Stack<Integer> st = new Stack<Integer>();
for(int i = 0; i < n; i++){
if(!st.contains(a[i])){
st.push(a[i]);
}
}
System.out.println(st.size());
while(!st.empty()){
System.out.print(st.pop()+" ");
}
}
}