微軟100題(84)百度面試題 隨機發生器

2021-07-03 07:24:29 字數 759 閱讀 6678

1.a~z包括大小寫與0~9組成的n個數

用最快的方式把其中重複的元素挑出來。

2.已知一隨機發生器,產生0的概率是p,產生1的概率是1-p,現在要你構造乙個發生器,

使得它構造0和1的概率均為1/2;構造乙個發生器,使得它構造1、2、3的概率均為1/3;...,

構造乙個發生器,使得它構造1、2、3、...n的概率均為1/n,要求複雜度最低。

3.有10個檔案,每個檔案1g,

每個檔案的每一行都存放的是使用者的query,每個檔案的query都可能重複。

要求按照query的頻度排序.

1.解答:

對每個「數」計算hash,如果hash ==1 說明出現了,否則置hash=1

2.解答:

參見00:p*p 

01:p*(1-p)  

10:(1-p)*p 

11:(1-p)*(1-p) 

00和11捨棄,01代表0 10代表1 ,這樣產生0和1等概率

n=3 001 010 100 

n=4 0001 0010 0100 1000

n=5 0011 0101 0110 1100 1010 1001 六個選5個即可

3.解答:

對於每個檔案中的query,計算hash,分成10個或者更多個桶

對於每個桶裡面的query,計算訪問頻度,可以用hash_set(key = query value = frequency)並排序(快排,堆排),

然後用多路歸併排序合併這些桶

百度面試題

有一根27厘公尺的細木桿,在第3厘公尺 7厘公尺 11厘公尺 17厘公尺 23厘公尺這五個位置上各有乙隻螞蟻。木桿很細,不能同時通過乙隻螞蟻。開始時,螞蟻的頭朝左還是朝右是任意的,它們只會朝前走或調頭,但不會後退。當任意兩隻螞蟻碰頭時,兩隻螞蟻會同時調頭朝反方向走。假設螞蟻們每秒鐘可以走一厘公尺的距...

百度面試題

一 選擇題 15分 共10題 1.任何乙個基於 比較 的內部排序的演算法,若對6個元素進行排序,則在最壞情況下所需的比較次數至少為 a 10 b 11 c 21 d 36 2.關係模型有三類完整性約束,定義外來鍵實現的是 完整性.a.實體完整性 b.參照完整性 c.使用者定義的完整性 d.實體完整性...

百度面試題

1.乙個int陣列,裡面資料無任何限制,要求求出所有這樣的數a i 其左邊的數都小於等於它,右邊的數都大於等於它。能否只用乙個額外陣列和少量其它空間實現。2.乙個檔案,內含一千萬行字串,每個字串在1k以內,要求找出所有相反的串對,如abc和cba。當時怎麼想的忘記了,現在重新思考一下,檔案的大小上限...