蒙特卡羅演算法解決兩集合相等問題
阿新 • • 發佈:2019-02-09
問題描述:給定兩集合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相等 }