集合相等问题
Time Limit: 1000 ms
Memory Limit: 65536 KiB
Problem Description
给定2 个集合S和T,试设计一个判定S和T是否相等的蒙特卡罗算法。
设计一个拉斯维加斯算法,对于给定的集合S和T,判定其是否相等。
设计一个拉斯维加斯算法,对于给定的集合S和T,判定其是否相等。
Input
输入数据的第一行有1 个正整数n(n≤10000),表示集合的大小。接下来的2行,每行有n个正整数,分别表示集合S和T中的元素。
Output
将计算结论输出。集合S和T相等则输出YES,否则输出NO。
Sample Input
3 2 3 7 7 2 3
Sample Output
YES
import java.math.BigInteger; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Scanner; import java.util.Set; import java.util.TreeSet;
public class Main { public static void main(String[] args) throws ParseException { Scanner sc = new Scanner(System.in); Set s = new TreeSet<Integer>(); Set t = new TreeSet<Integer>(); int n= sc.nextInt(); for(int i = 0; i < n; i++) { s.add(sc.nextInt()); } for(int i = 0; i < n; i++) { t.add(sc.nextInt()); } Object[] a = s.toArray(); Object[] b = t.toArray(); /*System.out.println(Arrays.toString(a)); System.out.println(Arrays.toString(b)); System.out.println("a.length b.length"+a.length+"---"+b.length);*/ if(s.equals(t)) { System.out.println("YES"); } else { System.out.println("NO"); } } }