问题描述:给定两集合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相等
}

本文介绍了一种使用蒙特卡罗算法来判断两个集合是否相等的方法。通过随机选择集合中的元素并与另一个集合进行比较,该算法能够在有限次数的尝试内给出集合相等性的判断。

1238

被折叠的 条评论
为什么被折叠?



