- 此题卡效率
- 用Scanner输入超时
- 解决办法输入挂
思路:自己建一个输入的类,加速输入,然后用HashSet存入所有数据,因为Set会自动去重,所以比较n与Set的size就可以判断是否有重复数据了
输入挂参照我的另一篇博客
java输入挂(比scanner快10倍)
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.Set;
import java.util.StringTokenizer;
class Input{
StringTokenizer tok;
BufferedReader buf;
public Input() {
// TODO Auto-generated constructor stub
buf = new BufferedReader(new InputStreamReader(System.in));
}
boolean hasNext()
{
while(tok==null||!tok.hasMoreElements())
{
try {
tok = new StringTokenizer(buf.readLine());
} catch (Exception e) {
// TODO: handle exception
return false;
}
}
return true;
}
String next()
{
if(hasNext())
return tok.nextToken();
return null;
}
int nextInt()
{
return Integer.parseInt(next());
}
}
public class Main {
public static void main(String[] args){
Input in = new Input();
Set<Integer> s = new HashSet<>();
int n = in.nextInt();
for(int i=0;i<n;i++)
s.add(in.nextInt());
if(s.size()==n)
System.out.println("NO");
else
System.out.println("YES");
}
}
题目链接