题目描述
blablabla
样例
blablabla
算法1
blablabla
时间复杂度分析:blablabla
Java 代码
import java.util.Arrays;
import java.util.Scanner;
class Main{
static int N=200003;
static int NULL=0x3f3f3f3f;
static int h[]=new int[N];
static int find(int x)
{
//如果是x>=0,t=x%N就够了
//如果是x<0,x%N<0,数组下标不能为负数。所以t=x%N+N可以满足需求。
//如果要满足x<0Ux>=0,则t=(x % N + N) % N
int t=(x % N + N) % N;
while (h[t] != NULL && h[t] != x)
{
t ++ ;
if (t == N) t = 0;
}
return t;
}
public static void main(String[] args) {
Arrays.fill(h,NULL);//c++中memset赋值0x3f,会自动填充为0x3f3f3f3f,Java不行
Scanner scanner=new Scanner(System.in);
int n=scanner.nextInt();
while (n--!=0){
String op=scanner.next();
int x=scanner.nextInt();
if (op.equals("I")){
h[find(x)] = x;
}else {
if (h[find(x)] == NULL) System.out.println("No");
else System.out.println("Yes");
}
}
}
}