⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 3949303_ac_266ms_4920k.java

📁 北大大牛代码 1240道题的原代码 超级权威
💻 JAVA
字号:
import java.util.Scanner;
import java.util.TreeSet;

public class Main {
	
	private Scanner in;

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		new Main().run();
	}
	
	private void run() {
		in = new Scanner(System.in);
		int cas;
		int n, k;
		TreeSet <Integer> ts = new TreeSet <Integer> ();
		
		cas = in.nextInt();
		for (int i = 0; i < cas; i++) {
			k = in.nextInt();
			n = in.nextInt();
			ts.clear();
			int[] dvd = new int[n];
			for (int j = 0; j < n; j++) {
				dvd[j] = in.nextInt();
			}
			int ans = 0;
			for (int j = 0; j < n; j++) {
				if (ts.contains(dvd[j])) {
					continue;
				}
				if (ts.size() < k) {
					ts.add(dvd[j]);
					ans++;
					continue;
				}
				int max = -1;
				int out = -1;
				for (int d : ts) {
					int l;
					for (l = j + 1; l < n && dvd[l] != d; l++);
					if (l > max) {
						max = l;
						out = d;
					}
				}
				ts.remove(out);
				ts.add(dvd[j]);
				ans++;
			}
			System.out.println(ans);
		}
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -