staticvoid
validatearrayelement()
//迴圈b,驗證元素是否存在
foreach (var item in b) atemp[item] = true
;
//迴圈a,驗證是否存在,將c對應位置標記為true
for (int i = 0; i < a.length; i++) if (atemp[a[i]]) c[i] = true
; sp.stop();
//停止計時
console.writeline(sp.elapsedmilliseconds);
}
有兩組隨機生成的(0~99999)int32資料a和b,將a按順序判斷在b中是否存在並記錄在boolean型的c中
點評,演算法很新穎,用空間換取時間
經典排序演算法的經典問題
問題描述 乙個陣列只含有三種元素 0,1,2,不使用計數排序,將0放在1的左邊,2放在1的右邊。分析 1.可借鑑快排中劃分的思想。將陣列分為,arr,2.遍歷arr,當發現0時,0區向右擴,發現2時,2區向左擴,3.當前元素進入2區時,結束。vector sortthreecolor vector ...
經典演算法問題之約瑟夫問題
據說著名猶太歷史學家 josephus有過以下的故事 在羅馬人占領喬塔帕特後,39 個猶太人與josephus及他的朋友躲到乙個洞中,39個猶太人決定寧願死也不要被敵人抓到,於是決定了乙個自殺方式,41個人排成乙個圓圈,由第1個人開始報數,每報數到第3人該人就必須自殺,然後再由下乙個重新報數,直到所...
經典演算法 兔子繁殖問題
有一種動物,它出生後兩天後就開始以每天乙隻得速度繁殖,假設有一天,有乙隻這樣的動物 該動物剛出生,從第三天開始繁殖後代 到第11天,共有多少只?有乙個非常明智的思考,思考過程如下 我們思考第n天的兔子是如何來的,首先第n 1天的兔子都會存活到第n天,並且不會繁殖 第n 2天的兔子都會在第n天繁殖,所...