Description
牛客网 2018校招真题 序列操作
Solving Ideas
Stack
Solution
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.LinkedList;
/**
* @author wylu
*/
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] strs = br.readLine().split(" ");
int n = Integer.parseInt(strs[0]), m = Integer.parseInt(strs[1]);
boolean[] flag = new boolean[n + 1];
LinkedList<Integer> stack = new LinkedList<>();
for (int i = 0; i < m; i++) {
int k = Integer.parseInt(br.readLine());
stack.push(k);
flag[k] = true;
}
boolean[] visited = new boolean[n + 1];
StringBuilder sb = new StringBuilder();
while (!stack.isEmpty()) {
int k = stack.pop();
if (!visited[k]) sb.append(k).append("\n");
visited[k] = true;
}
for (int i = 1; i <= n; i++) {
if (!flag[i]) sb.append(i).append("\n");
}
System.out.print(sb);
}
}