题目描述
给定一个个数字arr,判断数组arr中是否所有的数字都只出现过一次。
输入描述:
输入包括两行,第一行一个整数n,代表数组arr的长度。第二行包括n个整数,代表数组arr。
输出描述:
如果arr中所有数字都只出现一次,输出“YES”,否则输出“NO”。
示例1
输入
3
1 2 3
输出
YES
解法一:利用HashSet
import java.io.*;
import java.util.*;
public class Main{
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int len = Integer.parseInt(br.readLine());
String[] ss = br.readLine().trim().split(" ");
boolean res = hasSame(ss);
System.out.println(res?"YES":"NO");
}
public static boolean hasSame(String[] arr){
if(arr==null) return true;
HashSet<String> set = new HashSet<>();
for(int i=0;i<arr.length;i++){
if(!set.add(arr[i])) return false;
}
return true;
}
}