360 第一次笔试第二题 看花 Java ..
360第二题 打了个表a[i][j] 记录i到j时间段内的观看的种类数 ,没想到直接就AC了..
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.Scanner;
public class Main {
static final int MAX = 2005;
static int a[] = new int[MAX];
static int n, m, q;
static int[][] kinds = new int[MAX][MAX];
public static void getKindTable() {
HashSet set = new HashSet();
for (int i = 1; i <= n; i++) {
set.clear();
for (int j = i; j <= n; j++) {
set.add(a[j]);
kinds[i][j] = set.size();
}
}
}
public static int getAns(int l, int r) {
if (l > r) {
int t = l;
l = r;
r = t;
}
return kinds[l][r];
}
public static void main(String[] args) {
Scanner sc = new Scanner(new BufferedReader(new InputStreamReader(System.in)));
n = sc.nextInt();
m = sc.nextInt();
for (int i = 1; i <= n; i++) {
a[i] = sc.nextInt();
}
getKindTable();
q = sc.nextInt();
for (int i = 0; i < q; i++) {
int l, r;
l = sc.nextInt();
r = sc.nextInt();
System.out.println(getAns(l, r));
}
}
}
#Java##题解#