双指针做的,100% public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); int[] start = new int[n]; int[] end = new int[n]; for (int i = 0; i < n; i++) { start[i] = scanner.nextInt(); } for (int i = 0; i < n; i++) { end[i] = scanner.nextInt(); } int count = 0; boolean[] flag = new boolean[n+1]; for (int i = 0,j = 0; i < n && j < n;) { if (!flag[start[i]]){ if (start[i] == end[j]){ i++; } else { count++; } flag[end[j]] = true; j++; } else { i++; } } System.out.println(count); }