问题描述:给定两集合S和T,试用蒙特卡罗算法实现对S和T是否相等的判断。
(集合S和T,可以为一维数组形式)
public static boolean collectionEqual(int[] s,int[] t){
if(s.length!=t.length) return false;
for(int i=0; i<s.length; i++){ //ps:集合元素过大,s.length会致使计算机运算量越大,但判断的结果越准确。
rnd = new Random();
int j = rnd.random(s.length)+1;
int x = s[j]; //随机选择数组s中元素
for(int i=0; i<s.length; i++){
if(x==t[i]) break;
if(i==s.length-1) return false;
}
}
return ture; //集合S和T相等
}